Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在bash脚本中执行mirror和mget lftp命令_Linux_Bash_Command Line_Sftp_Lftp - Fatal编程技术网

Linux 在bash脚本中执行mirror和mget lftp命令

Linux 在bash脚本中执行mirror和mget lftp命令,linux,bash,command-line,sftp,lftp,Linux,Bash,Command Line,Sftp,Lftp,当前代码 #!/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:/

当前代码

#!/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
目标

#!/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
下载所有csv文件,并与远程服务器镜像我的本地目录文件夹,以便再次运行代码时不会下载第二个文件

收到错误

打开:*.csv:名称或服务未知

评论

根据我对
lftp
手册页的理解,如果我使用
-e
使用外部命令,我应该能够使用
mget
而不是标准的
get
,获取所有通配符文件。我已经手动运行了
mget
,可以毫无问题地下载文件,但它似乎不支持脚本中的
*.csv

感谢您提供的任何反馈,说明为什么我的代码不会下载文件,以及我可能从手册页中误解了什么。

应该是这样的:

lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER -e "mget *.csv; bye"
应该是这样的:

lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER -e "mget *.csv; bye"