【发布时间】:2018-04-25 11:50:16
【问题描述】:
我需要登录一个虚拟机并在那里执行一些命令。我已经完成了与同一主题相关的所有问题,但没有找到任何 EXPECT 解决方案。我正在使用 EXPECT,因为我需要在使用 SSH 时传递密码。
我在执行我的脚本时收到“命令未找到错误”,但手动运行,它工作正常。
#!/usr/bin/expect -f
set user [lindex $argv 0]
set to [lindex $argv 1]
set pass [lindex $argv 2]
set command [lindex $argv 3]
puts "$user, $to , $command and $pass ."
# connect via scp
spawn sudo ssh -t -t -v $user@$to << EOF
ls
EOF
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send $pass\n
}
}
interact
收到错误:
spawn sudo ssh -t -t -v username@server_ip
【问题讨论】: