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

10-13 09:06
查看更多