在shell脚本中使用wget来测试连接性

时间:2018-05-17 11:11:56

标签: shell wget

我在urls.txt中有一个网址列表,我希望测试服务器的连接。

urls.txt:

www.google.com
www.yahoo.com
www.gmail.com
https://stackoverflow.com/questions

我想运行一个简单的shell脚本来测试每个URL的连接,并将wget的输出写入文件wget.log 我还需要使用--spider

关闭下载

这是我的剧本:

urls=( $(awk '/URLs:/{y=1;next}y' urls.txt) )

for url in "${urls[@]}"
do
    wget --spider -o wget.log "${url}"
    if [ grep -q 'connected' wget.log ]; then
            echo 'successful'
    else
            echo 'unsuccessful'
    fi
    rm wget.log
done

for循环的作用是将每个网址正确存储在变量url中,但我收到以下错误:line 6: [: too many arguments

1 个答案:

答案 0 :(得分:1)

您的[ ... ]语句中不需要if,只需使用

即可
...
if grep -q 'connected' wget.log; then
...

这样if语句会查看grep的返回值。