所以我看过很多关于此的帖子,也许我只是没有看到合适的帖子。
我正在使用 Expect 脚本将多个文件从我的语言环境传输到远程。我不想为无密码登录设置密钥,因为这样服务器就不会被吹走并在没有更多工作的情况下站起来,是的,我可以自动创建密钥,但我宁愿不这样做。所以我希望能够使用 * 但每次我使用 * 它都会告诉我。我想使用 * 而不是全名的原因是因为版本号会不断变化,我不想每次都手动更改脚本。
/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
我通过更多的谷歌搜索找到了我想要的东西。感谢您的帮助,希望这对其他人有帮助
http://www.linuxquestions.org/questions/linux-general-1/scp-with-wildcard-in-expect-834813/ 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)