首页 > 解决方案 > 如何从 bash 或脚本文件运行 wget?

问题描述

我正在尝试使用脚本文件 (sh) 中的参数运行以下wget命令,但它不会运行。但是,如果我在终端或控制台上运行相同的命令,它会按预期运行。有人可以告诉我我做错了什么。

GetMyUrls.sh

URL="http://craigslist.com"
wget -q ${URL} -O - | tr "\t\r\n'" '   "' | grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?:[^"]\+"' | sed -e 's/^.*"\([^"]\+\)".*$/\1/g' > myurls.txt

编辑: 如果我直接在终端中运行以下命令,它可以工作,并且输出显示在代码下方。

wget -q http://craigslist.com -O - |     tr "\t\r\n'" '   "' |     grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?:[^"]\+"' |     sed -e 's/^.*"\([^"]\+\)".*$/\1/g' > myurls.txt

输出:

baby-jesus@babyjesus-X501A1:~$ wget -q http://craigslist.com -O - |     tr       "\t\r\n'" '   "' |     grep -i -o '<a[^>]\+href[ ]*=[ \t]*"\(ht\|f\)tps\?:      [^"]\+"' |     sed -e 's/^.*"\([^"]\+\)".*$/\1/g'
https://post.craigslist.org/c/pit
https://accounts.craigslist.org/login/home
https://www.craigslist.org/about/sites
https://post.craigslist.org/c/pit
https://accounts.craigslist.org/login/home
https://www.craigslist.org/about/help/
https://www.craigslist.org/about/scams
https://www.craigslist.org/about/safety
https://www.craigslist.org/about/privacy.policy   
https://www.craigslist.org/about/help/system-status
https://www.craigslist.org/about/ 
https://www.craigslist.org/about/craigslist_is_hiring
https://www.craigslist.org/about/open_source
http://blog.craigslist.org/
https://www.craigslist.org/about/best/all/
https://www.youtube.com/user/craigslist
http://www.craigslistjoe.com/
http://craigconnects.org/
https://forums.craigslist.org/?areaID=33
https://forums.craigslist.org/?areaID=33&amp;forumID=5178
https://forums.craigslist.org/?areaID=33&amp;forumID=3232

我想要做的只是从脚本文件中做完全相同的事情,并通过在该字符串的末尾添加> myurls.txt将输出定向到文本文件

标签: bashurlterminalwget

解决方案


推荐阅读