带有expect的运行命令

时间:2013-03-15 12:18:04

标签: shell expect


我创建了一个shell脚本,可以自动登录到远程机器 但我需要自动执行命令或shell脚本以及此脚本 我需要对shell脚本进行哪些修改才能在远程计算机中创建目录(例如!)?

#!/usr/bin/expect
set login "root"
set addr "10.3.2.0"
set pw "root"

spawn ssh -t $login@$addr
expect "$login@$addr's password:"
send "$pw\r"
interact

提前致谢。

2 个答案:

答案 0 :(得分:3)

您只需在脚本中添加语句即可:

#!/usr/bin/expect
set login "root"
set addr "10.3.2.0"
set pw "root"

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

答案 1 :(得分:0)

或者如果您没有关于提示的信息,那么可以使用spawn逐个调用具有interact的命令的方式:

spawn command1
interact
spawn command2
interact
spawn command3
interact