【发布时间】:2017-07-16 13:49:10
【问题描述】:
我正在尝试通过 SSH 连接到服务器并执行一些命令的脚本。第一部分有效:
#!/usr/bin/expect -f
spawn ssh address
expect "password:"
send "password\r"
interact
但之后我想执行更多命令,例如cd 到目录,启动更多脚本等。有没有办法实现这些东西?
【问题讨论】:
我正在尝试通过 SSH 连接到服务器并执行一些命令的脚本。第一部分有效:
#!/usr/bin/expect -f
spawn ssh address
expect "password:"
send "password\r"
interact
但之后我想执行更多命令,例如cd 到目录,启动更多脚本等。有没有办法实现这些东西?
【问题讨论】:
尝试以下:
#!/usr/bin/expect
set login "any_user"
set addr "some_address"
set pw "any_pwd"
spawn ssh -t $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "~" ; # put here string from your server prompt
send "mkdir some_dir\r"
interact
这是命令之一,您可以尝试其他命令,例如 cd,也可以尝试其中的任何其他脚本,如果有任何疑问,请告诉我们。
【讨论】: