我需要在启动/登录 Mac 时运行一个应用程序。我希望它在后台启动并开始工作,而不会打扰我,也不需要我启动它,因为我总会忘记,然后当我需要它时,它却没有运行!
我曾尝试使用 AppleScript 告诉 Terminal 运行它并输入我的密码,但最终打开了多个 Terminal 窗口,无法正常工作。理想情况下,我需要一个脚本,只需将其添加到用户登录项中,它就会为我运行。
该应用程序也无法接受密码参数,并且它有密码和 sudo!我需要一个可以作为 applescript(可以制作成可执行文件)的解决方案,或者我需要一个命令行脚本,但我对它们一无所知。
这是我输入的手动代码
$ sudo serverStatus
password:123456
password:serverpass
我的 AppleScript:
tell application Terminal
activate
do shell script "sudo serverStatus"
delay 5
do shell script "123456"
delay 2
do shell script "serverpass"
end tell
答案1
do shell script
用于在 AppleScript 中执行 shell 脚本,不会真正打开终端窗口。您可以使用 打开一个新的终端窗口,do script
然后使用 模拟输入密码keystroke
。
tell application "Terminal"
do script "sudo serverStatus"
activate
end tell
delay 1
tell application "System Events"
keystroke "login password" & return
delay 1
keystroke "server password" & return
end tell
如果你愿意的话,你也可以使用登录钩子它将在您登录用户帐户后运行。此钩子可以使用以下命令调用相应的 AppleScript:
osascript /path/to/script.scpt
但如果您只是手动将其添加到登录项中,这似乎有点太多了。