Wget的返回值总是为0

时间:2015-10-07 19:42:54

标签: linux bash centos wget

我正试图在here中使用以下接受的答案,
例如:

wget_output=$(wget -q google.com)
if [ $? -ne 0 ]; then
    echo "not zero"
else
    echo "zero"
fi

但无论网站是否存在/响应,我总是将$?值设为0。 请指教

3 个答案:

答案 0 :(得分:1)

尝试缩小问题并直接使用if测试命令的返回值:

if wget http://www.google.com/badname
then echo 'true'
else echo 'not true'
fi

if wget http://www.google.com/index.html
then echo 'true'
else echo 'not true'
fi

答案 1 :(得分:0)

我试过了:

if wget -q google.com; then

现在似乎工作,如果网站存在,那么它不是0并且条件发生,否则它是空的并且条件不会发生。

答案 2 :(得分:0)

你可以这样做:

 URL="https://google.nl"

 wget $URL --no-check-certificate -o /dev/null

 if [ $? == 8 ]; then
    echo "The site does'nt exist"
 fi