所以我看到了很多帖子,也许我还没有看到正确的帖子.
我正在使用expect脚本将我的语言环境中的多个文件scp到远程.我不想为无密码登录设置密钥,因为那时服务器不能被吹走而且站起来做更多的工作,是的我可以自动创建密钥,我只是不愿意.所以我希望能够使用*但每次我使用*它告诉我.我想使用*而不是全名的原因是因为版本号会不断变化,我不想每次都手动更改脚本.
/path/{Install.sh,programWithVerionAfter*\}: No such file or directory Killed by signal 1.
我希望这是一个简单的解决方法或解决方法.我想做的就是scp这些文件,这样我只需点击一下按钮就可以自动完成安装过程.预先感谢您的任何帮助
#!/usr/bin/expect -f spawn scp /path/\{Install.sh,programWithVerionAfter*\} "root@IP:/tmp/. expect { -re ".*es.*o.*" { exp_send "yes\r" exp_continue } -re ".*sword.*" { exp_send "Password\r" } } interact
解决方法
我找到了更多google的东西.谢谢你的帮助,希望这有助于他人
http://www.linuxquestions.org/questions/linux-general-1/scp-with-wildcard-in-expect-834813/
#!/usr/bin/expect -f spawn bash -c "scp /path/* root@IP:/tmp/" expect { -re ".*es.*o.*" { exp_send "yes\r" exp_continue } -re ".*sword.*" { exp_send "Password\r" } } interact