您的位置:首页 > 其它

最简单的非交互ssh远程执行命令expect脚本

2013-03-14 23:47 447 查看
标题有点绕口~

#!/usr/bin/expect -f

if { $argc<4 } {
puts stderr "Usage: $argv0 <host> <user> <passwd> <cmd>"
exit 1
}

set HOST [lindex $argv 0]
set USER [lindex $argv 1]
set PSWD [lindex $argv 2]
set CMDS [lindex $argv 3]

log_user 0
set timeout 3
spawn -noecho ssh $USER@$HOST "$CMDS"
while {1} {
expect {
"(yes/no)? " { send "yes\r"; continue; }
"Password: " { send "$PSWD\r"; log_user 1 }
eof { break }
timeout { send_user "\[timeout\]\n"; exit 255 }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐