期待ssh并创建目录

时间:2016-07-13 15:46:18

标签: ssh expect

我遇到了一些麻烦。

我正在尝试ssh到另一台机器上,然后在该机器上创建一个目录。

现在这就是我的代码:

spawn ssh username@ipAddress
expect "password"
send "password"
file mkdir directoryName

该代码给了我“拒绝许可”。

当我尝试更换

file mkdir directoryName

send "mkdir directoryName"

没有错误,但它不会生成文件。 感谢。

2 个答案:

答案 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