将变量从applescript传递到可执行bash文件

时间:2014-02-06 00:06:04

标签: bash applescript

是否可以将变量从applescript传递到可执行的bash文件?如果是这样,我如何编写可执行的bash文件来接受参数?我将传递一个动态文件名,该文件名将附加到可执行文件中的文件路径中。

...了Applescript

global A
set A to "test123.pdf"
do shell script "/Users/matt/firstscript " & A 

Bash文件......

#!/bin/bash
b64test=$( base64 /Users/matt/Documents/$1) 
echo $b64test | pbcopy
echo $b64test > Users/matt/Base64

1 个答案:

答案 0 :(得分:4)

你的Applescript需要做类似的事情:

global A
set A to "test123.pdf"
do shell script "/Users/matt/firstscript " & A

然后在您的脚本中,您可以参考parameters as $1, $2, etc, or $@ for all of them.

#!/bin/bash

b64_test=$( base64 /Users/matt/Documents/$1)
echo $b64_test | pbcopy
echo $b64_test > /Users/matt/Base64

请注意,命名bash变量test并不是一个好主意,因为这是shell builtin命令的名称。随之而来的是各种各样的混乱。


或者,您应该能够在没有额外shell脚本的情况下执行此操作:

set A to quoted form of "/Users/matt/Documents/test123.pdf"
do shell script "base64 " & A & " | pbcopy"