我正在尝试创建一个bash脚本来ssh到一个会话并运行一个命令然后退出会话。目前这是我到目前为止:
#!/usr/bin/expect -f
spawn ssh root@sc
expect "assword:"
send "password\r"
expect "#"
send "cd /data2/someDirectory\r"------> don't see this command being executed
和输出
[user@San ddb]$ test1
spawn ssh root@sc
root@sc's password:
SC02 RH 7.3 (0000009B 02.11.0.1)
[root@sc /]# [user@san1 ddb]$
[user@san1 ddb]$
所以我的问题是为什么目录不是设置为myDirectory而且它只是退出会话?
答案 0 :(得分:3)
您的DaemonRunner
脚本正在执行您想要的操作,但在作业expect
完成后正在退出。
设定一些"期望"比如脚本末尾的send
并尝试。
expect "$"
答案 1 :(得分:0)
你不需要期望:
ssh root@host 'cd /tmp; touch afile'
对于无密码操作,请设置ssh密钥。这是一个不错的教程:http://support.suso.com/supki/SSH_Tutorial_for_Linux