【发布时间】:2013-10-09 16:35:59
【问题描述】:
我尝试在一组计算机上安装 R,但有人告诉我检查 Expect。
我正在关注一个关于 Linux Expect Command 的教程,以自动化 ssh 到节点的过程并自动安装开源 R。
我有点卡在 ssh 部分: (Tutorial goes here)
#!/usr/bin/expect -f
if {[llength $argv] != 3} {
puts "usage: ssh.exp username server password"
exit 1
}
set username [lrange $argv 0 0]
set server [lrange $argv 1 1]
set password [lrange $argv 2 2]
set timeout 60
spawn ssh $username@$server.mycompany.com
match_max 100000
expect "*?assword:*"
send -- "$password\r"
send -- "\r"
expect eof
我可以运行代码并登录到远程服务器,但是,我输入 ls 并且它只是挂在远程服务器端。然后我 ctrl + c 它注销并返回到我的主机服务器。
谁能告诉我登录后如何在Expect中继续这个过程。
更新:由于 Ireeder 的回答。
你只需要用interact替换expect eof,它就会把控制权交给用户。
【问题讨论】: