linux - 使用 expect 脚本自动化包含多个文件的 SCP

标签 linux expect scp

所以我看到了很多关于这个的帖子,也许我只是没有看到正确的帖子。

我正在使用 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/

相关文章:

linux - 从远程复制指定目录时出现"Is a directory"错误

c++ - 将 C++ 结构传递给需要 C 结构的库

python - 在 PiCloud 环境服务器上使用共享库

c - 关于标准信号的传递

windows - Windows 上的 unbuffer 程序相当于什么?

linux - 如何使用 expect 从 SFTP 服务器捕获 sftp ls 命令的输出?

linux - 检查命令是否包含字符串或空

tcl - 预期 Tcl 脚本 - 使用生成传递带引号的参数时出错

linux - 从远程服务器并行复制小文件

php - 使用php将文件从一台机器复制到另一台机器