在 bash 脚本中执行 mirror 和 mget lftp 命令
Execute mirror and mget lftp commands in bash script
当前代码
#!/bin/bash
SFTP_SERVER="sftp.url.com:/csv/test/10"
SFTP_USER="user"
SFTP_PWD="pwd"
## not sure if this line is needed given I specify the local directory
# in the next block of code.
cd /mnt/c/Users/user/Documents/new_directory
lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER
lftp -e mget *.csv mirror sftp.user.com:/csv/test/10 /mnt/c/Users/user/Documents/new_directory
Objective
下载所有 csv 文件并将我的本地目录文件夹镜像到远程服务器,因此当代码再次为 运行 时,它不会下载第二个文件。
收到错误
open: *.csv: Name or service not known
评论
根据我对 lftp
手册页的理解,如果我使用 [=15],我应该能够通过使用 mget
而不是标准 get
来获取所有通配符文件=] 使用外部命令。我手动 运行 mget
并且可以毫无问题地下载文件,但它似乎不支持脚本中的 *.csv
。
感谢您就我的代码为何无法下载文件以及我可能从手册页中误解了什么而提供的任何反馈。
应该是这样的:
lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER -e "mget *.csv; bye"
当前代码
#!/bin/bash
SFTP_SERVER="sftp.url.com:/csv/test/10"
SFTP_USER="user"
SFTP_PWD="pwd"
## not sure if this line is needed given I specify the local directory
# in the next block of code.
cd /mnt/c/Users/user/Documents/new_directory
lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER
lftp -e mget *.csv mirror sftp.user.com:/csv/test/10 /mnt/c/Users/user/Documents/new_directory
Objective
下载所有 csv 文件并将我的本地目录文件夹镜像到远程服务器,因此当代码再次为 运行 时,它不会下载第二个文件。
收到错误
open: *.csv: Name or service not known
评论
根据我对 lftp
手册页的理解,如果我使用 [=15],我应该能够通过使用 mget
而不是标准 get
来获取所有通配符文件=] 使用外部命令。我手动 运行 mget
并且可以毫无问题地下载文件,但它似乎不支持脚本中的 *.csv
。
感谢您就我的代码为何无法下载文件以及我可能从手册页中误解了什么而提供的任何反馈。
应该是这样的:
lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER -e "mget *.csv; bye"