我遇到了一些麻烦。
我正在尝试ssh到另一台机器上,然后在该机器上创建一个目录。
现在这就是我的代码:
spawn ssh username@ipAddress
expect "password"
send "password"
file mkdir directoryName
该代码给了我“拒绝许可”。
当我尝试更换
时file mkdir directoryName
与
send "mkdir directoryName"
没有错误,但它不会生成文件。 感谢。
答案 0 :(得分:1)
这可能会对您有所帮助: -
#!/usr/bin/expect
set timeout -1
spawn -noecho bash -c "ssh username@serveraddress 'cd /user/bill/work;<your=command>'"
expect {
-re "assword:"{
send "mypassword/r"
}eof{
wait
}
您必须在ssh
内发送命令,因为它将在远程计算机上运行。
上述脚本的说明: -
set timeout -1
会将此循环设置为无限(但在spawn
进程完成后它将退出。
-re
会匹配assword:
eof
将等到spawn
完成。
答案 1 :(得分:0)
发送mkdir
命令后,等待eof
发生。
send "mkdir directoryName\r"
expect eof