2016-04-25 54 views
1

我之前问过这个,但现在下面的bash似乎删除并下载了输入文件中的所有文件。基本上输入中的所有行(6)都是文件并被读入$line变量。当我echo$line我可以看到那里的文件,他们确实被删除,但他们也得到下载,我不需要他们,我也不知道他们为什么这样做。谢谢 :)。bash删除作为变量传递的文件中的文件

强大的文本

file1.txt 
file2.txt 
file3.txt 
file1.pdf 
file2.pdf 
file3.pdf 

庆典

# add filenames as variable and remove files from list 
while read line; do 
echo $line (only there to verify that the files are in the variable) 
wget --user=xxxxx --password=xxx --xxxx --method=DELETE \ 
xxx://www.example.com/xx/xxx/xxx/$line 
done < /home/cmccabe/list 
rm /home/cmccabe/list 
+1

这是一个wget问题,而不是bash问题。你期待wget电话做什么? –

+1

当你使用像这样的变量:xxx://www.example.com/xx/xxx/xxx/$line时,你应该把整个字符串或至少变量放在双引号中,如下所示:“xxx:// www.example.com/xx/xxx/xxx/$line”。它将防止任何可能的语法错误,如果源文件包含如下内容:“我的酷文件与spaces.txt”。 –

回答

2

您可以使用-O /dev/null选项即:

wget --user=xxxxx --password=xxx --xxxx --method=DELETE \ 
xxx://www.example.com/xx/xxx/xxx/$line -O /dev/null 

要放弃wget's输出并避免保存输出文件。

+1

非常感谢你:)。 – Chris