我有下面的Bash脚本。
!#/bin/bash
fscanx --pdf /scandata/Trust_Report
if [ "$?" = "0" ]; then
我想运行以下AppleScript
tell application "FileMaker Pro Advanced"
activate
show window "Trust Reports"
do script "Scan Trust Report"
end tell
else
say “It did not scan”
fi
调用此AppleScript的正确语法是什么?
谢谢你
最佳答案
使用osascript
命令。您可以使用-e
标志将脚本作为参数传递,如下所示(请注意,不必将其分成多行,我这样做只是为了使其更具可读性):
osascript \
-e 'tell application "FileMaker Pro Advanced"' \
-e 'activate' \
-e 'show window "Trust Reports"' \
-e 'do script "Scan Trust Report"' \
-e 'end tell'
或者将其作为here文档传递,如下所示:
osascript <<'EOF'
tell application "FileMaker Pro Advanced"
activate
show window "Trust Reports"
do script "Scan Trust Report"
end tell
EOF
顺便问一下,你不需要测试$?在一个单独的命令中,您可以在
if
语句中包含您试图直接检查成功的命令:if fscanx --pdf /scandata/Trust_Report; then
osascript ...
else
say “It did not scan”
fi
关于bash - 将AppleScript添加到Bash脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30858608/