首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复用于scp下载的expect脚本?

如何修复用于scp下载的expect脚本?
EN

Stack Overflow用户
提问于 2019-05-16 22:20:58
回答 1查看 410关注 0票数 0

我正在尝试使用expect来绕过我正在使用的远程服务器的密码验证过程,这样我就可以批量下载一系列文件,每个文件都存储在不同的文件夹中。

使用expect的原因是远程文件存储在不同的文件夹中,而我访问的服务器不允许我访问ssh密钥。

目前,我正在努力使用expect下载单个文件,更不用说同时下载多个文件了。下面是我的简单脚本:

代码语言:javascript
运行
复制
#!/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秒。

这方面的任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2019-05-17 03:56:11

  1. 我在你的代码中看到了“花哨”的引号。Expect不会将这些理解为引号。确保您的编辑器没有使用“智能引号”。
  2. 在您发送密码后,您必须等待下载完成,然后才能退出脚本:

#!/bin/bash #使用scp expect <

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56170769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档