检查域标头curl和grep

检查域标头curl和grep,curl,grep,Curl,Grep,我是初学者。我正在检查域列表上的HTTP头。如果grep成功,那么下面的操作将起作用。如果没有,循环将在同一行上打印下一行的结果。我希望它在域后打印一个错误“000”,如果grep找不到HTTP,则转到新行。我尝试了if-else-fi,但是在else部分我得到了一个错误 filename="$1" while read -r line do domain=$line printf "$domain," curl -m3

我是初学者。我正在检查域列表上的HTTP头。如果grep成功,那么下面的操作将起作用。如果没有,循环将在同一行上打印下一行的结果。我希望它在域后打印一个错误“000”,如果grep找不到HTTP,则转到新行。我尝试了if-else-fi,但是在else部分我得到了一个错误

    filename="$1"
    while read -r line
    do
        domain=$line
        printf "$domain," 
        curl -m3 -I http://www."$domain" 2>&1 | grep "HTTP/" | awk '{print $2}'   
    done < "domains.txt"   
filename=“$1”
而read-r行
做
域=$line
printf“$domain,”
旋度-m3-Ihttp://www.“$domain”2>&1 | grep”HTTP/“| awk'{print$2}”
完成<“domains.txt”
演示:

$ bash curl.sh
free.fr 301
google.com 302
foobar.tld error 000
输入文件domains.txt:

free.fr
google.com
foobar.tld
剧本:

while IFS= read -r line
do
    domain="$line"
    tempvar=$(curl -m3 -I "http://www.$domain" 2>&1 |
        awk '/HTTP\//{print $2}')
    # testing if $tempvar exists (not null)
    if [[ $tempvar ]]; then
        echo  "$domain $tempvar"
    else
        echo >&2 "$domain error 000"
    fi
done < "domains.txt"   
当IFS=read-r行时
做
domain=“$line”
tempvar=$(旋度-m3-I)http://www.$domain“2>&1|
awk'/HTTP\/{print$2}')
#测试$tempvar是否存在(不为空)
如果[[$tempvar]];然后
echo“$domain$tempvar”
其他的
echo>&2“$domain错误000”
fi
完成<“domains.txt”

filename变量从未使用过