我有以下 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/