【发布时间】:2014-07-22 20:59:04
【问题描述】:
我一直想学习 AppleScript,所以我一直在尝试创建一个简单的脚本,该脚本将 ssh 到我的开发服务器并在我从终端调用函数时自动输入密码(我知道那里是更好的方法,这只是一个练习)。
这是我的 AppleScript:
tell application "Terminal"
activate
set SSH to "ssh git@server.local"
if (count of windows) is 0 then
do script SSH
else
do script SSH in window 1
end if
end tell
delay 2
tell application "System Events"
keystroke "somepassword"
keystroke return
end tell
在 AppleScript 编辑器中单击“运行”按钮时,这非常有效,但是当尝试从终端 (osascript ~/Desktop/ssh_dev.scpt) 调用它时,它不起作用。
ssh git@server.local 出现在该行上,但不执行,而是换行,这意味着"somepassword" 字符串出现在其下方。
"somepassword" 字符串放入终端后,ssh 命令执行并提示我输入密码。
任何帮助将不胜感激。
【问题讨论】:
-
不要那样做。如果你想在不输入密码的情况下通过 SSH 连接到服务器,set up public key login。
-
@duskwuff 正如我在最初的描述中所说,我知道...只是尝试将其作为练习。
标签: macos terminal applescript