我有以下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的正确语法是什么?
谢谢
答案 0 :(得分:7)
使用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