wget的错误断shell script-怎么阻止?
-
22-08-2019 - |
题
我有一个巨大的文件,有很多链接到文件的各种类型下载。每个线下载一个这样的命令:
wget'URL1'
wget'URL2'
...
并有成千上万的那些。
不幸的是一些网址看起来真的很丑陋的,就像例如:http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc 它打开了"确定"在一浏览器,但是混淆wget.
我得到一个错误:
./tasks001.sh:35行:语法错误近意外的令牌`1'
./tasks001.sh:35行:`wget'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc''
我已经试过这两个网址和'URL'的方式指定什么要下载。
是否有办法使一个脚本的喜欢这人参与的运行?我确定如果它只会跳过的文件,它不能下载。
解决方案
我认为你需要使用周围的URL双引号(“),而不是单引号(')。
如果仍然无法正常工作,请尝试逃避括号字符(
和)
用反斜杠:\(
和\)
哪一个是你使用的壳呢?击? zsh的?
其他提示
别(AB)使用外壳。
保存您的网址某些文件(假设my_urls.lst)和做的事:
wget -i my_urls.lst
Wget的将处理它自己的引用等。
这并不完全回答你的问题,但是:
两个下列命令直接在bash shell工作:
wget "http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc"
和
wget 'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc'
您可以检查,看看是否任何这些工作的吗?
什么似乎是发生的是,你的shell是做与(字符的东西。我会尝试使用在你的URL双引号“,而不是单引号'。
如果要抑制错误可以使用>的/ dev / null的UNIX下重定向标准输出或2>的/ dev / null的重定向标准误差。在其他操作系统下它可能是别的东西。