BASH:在for循环中将变量数组传递给命令的问题

时间:2019-04-28 05:02:16

标签: bash

我正在尝试使用curl在ftp服务器上获取文件列表,并将该数据存储在变量中,以便与for循环一起使用,以便从ftp服务器下载然后删除每个文件。

问题是,我无法通过简单的echo命令获取变量列表,而我无法获取将变量正确传递给curl脚本的信息。

EG。

$ while read i; do echo "$i"; done <ftpinputfiles
datapush_tracked_object_2019-04-28T04-17-30Z.json
datapush_tracked_object_2019-04-28T04-18-00Z.json
datapush_tracked_object_2019-04-28T04-18-30Z.json
datapush_tracked_object_2019-04-28T04-19-00Z.json
datapush_tracked_object_2019-04-28T04-19-30Z.json
datapush_tracked_object_2019-04-28T04-20-00Z.json
datapush_tracked_object_2019-04-28T04-20-30Z.json
datapush_tracked_object_2019-04-28T04-21-00Z.json
datapush_tracked_object_2019-04-28T04-21-30Z.json
datapush_tracked_object_2019-04-28T04-22-00Z.json
datapush_tracked_object_2019-04-28T04-22-30Z.json
datapush_tracked_object_2019-04-28T04-23-00Z.json

但是如果我运行此命令以查看变量是否传递给curl命令,它将无法正常运行

$ while read i; do echo "ftp://123.123.123.123/Test/$i --user USER:PASS -o $i"; done <ftpinputfiles
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-17- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-18- 
 00Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-18- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-19- 
 00Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-19- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-20- 
 00Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-20- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-21- 
 00Z.json 
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-21- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-22- 
 00Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-22- 
 30Z.json
 --user admin:PASS -o datapush_tracked_object_2019-04-28T04-23- 
 00Z.json

0 个答案:

没有答案