所以我看到了很多关于这个的帖子,也许我只是没有看到正确的帖子。
我正在使用 expect 脚本将多个文件从我的语言环境 scp 到远程。我不想为无密码登录设置 key ,因为这样服务器就不会被吹走,也不会在没有更多工作的情况下站起来,是的,我可以自动创建 key ,但我宁愿不这样做。所以我希望能够使用 * 但每次我使用 * 它都会告诉我。我想使用 * 而不是全名的原因是因为版本号会不断变化,我不想每次都手动更改脚本。
/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/
#!/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
关于linux - 使用 expect 脚本自动化包含多个文件的 SCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791699/