求助,我写的脚本有问题

回复 收藏
#!/usr/bin/expect
set pass 123456
set timeout 30
spawn scp -r 192.168.11.251:/var/local/svn/conf/* /var/local/svn/conf/
expect "root@192.168.11.251's password:"
send "$pass\r"

以上保存成.sh文件后,加700,文件执行后,/var/local/svn/conf/ 上没有文件复制过来。


2016-01-26 10:29 举报
已邀请:
0
找到原因了。要在后面加 expect eof和exit 才可以。
0

lyhabc

赞同来自:

expect eof  等待表示子进程已结束的标示符eof,然后退出。(注:这个等待eof必须要有,如果没有eof,很可能在子进程没有结束前就退出,造成问题。)

#!/usr/bin/expect
set passwd "123456"
spawn rsync -av root@192.168.11.18:/tmp/12.txt /tmp/
expect {
"yes/no" { send "yes\r"}
"password:" { send "$passwd\r" }
}
expect eof

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: