如果我想从bash脚本中运行AppleScript,则可以调用包含我需要执行的命令列表的文件。
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
但是,如果我想运行需要从bash中依次运行的命令,该怎么办?
一个例子是
#!/bin/bash
echo
echo This will open Google Chrome in Kiosk mode
osascript -e "tell application \"Google Chrome\""
osascript -e "activate"
osascript -e "tell application \"System Events\""
osascript -e "key down {command}"
osascript -e "key down {shift}"
osascript -e "keystroke \"f\""
osascript -e "key up {shift}"
osascript -e "key up {command}"
osascript -e "end tell"
echo "Google Chrome is now open in Kiosk Mode"
我知道这是一个非常牵强的示例,但是它可以解释我正在尝试做的事情。通常,这些命令都将\
在各处而不是"
每个命令周围都写有各自的转义字符的情况下被写入。我也将它们放在.scpt
文件中。
我知道的一种解决方案是使用#!/usr/bin/osascript
而不是bash 重写脚本,然后从那里开始,但是我希望能够融合。我发现我可以测试一个脚本文件,如果确实存在,可以创建一个脚本文件并将我需要的每个命令附加到该文件,然后从bash中执行所需的脚本文件,但这也无法达到目的。
没有办法在文件中途进行交换,我可以将正在使用的shell与该shebang
行交换,然后在执行必要的命令后交换回去,是吗?
任何见识都将受到欢迎。
end tell
剧本。