我正在尝试使用expect来绕过我正在使用的远程服务器的密码验证过程,这样我就可以批量下载一系列文件,每个文件都存储在不同的文件夹中。
使用expect的原因是远程文件存储在不同的文件夹中,而我访问的服务器不允许我访问ssh密钥。
目前,我正在努力使用expect下载单个文件,更不用说同时下载多个文件了。下面是我的简单脚本:
#!/bin/bash
#connect to the server using scp
expect <<EOF
spawn scp username@server:file.txt ./
expect “*word:*“
send “password\r”
EOF
我希望将file.txt下载到运行脚本的目录中。然而,当它运行时,我得到的却是我的服务器要求输入密码的文本输出,然后在它退出到命令提示符之前暂停了4-5秒。
这方面的任何帮助都是非常感谢的!
发布于 2019-05-17 03:56:11
#!/bin/bash #使用scp expect <
https://stackoverflow.com/questions/56170769
复制相似问题