我有一个简单的BASH shell脚本,用于检查curl命令的HTTP响应代码。逻辑是正确的,但我卡在了“简单地”输出“输出”上。
我正在使用GNU bash版本3.2.25(1)-release(x86_64-redhat-linux-gnu)
我想要输出URL和一个制表符-然后是404 | 200 | 501 | 502响应。例如:
http://www.google.co.uk<tab>200
我也遇到了一个奇怪的错误,URL中的“http”部分被覆盖成了200|404|501|502。我是否没有使用基本的BASH shell脚本(功能)呢?谢谢,Miles。
#!/bin/bash
NAMES=`cat $1`
for i in $NAMES
do
URL=$i
statuscode=`curl -s -I -L $i |grep 'HTTP' | awk '{print $2}'`
case $statuscode in
200)
echo -ne $URL\t$statuscode;;
301)
echo -ne "\t $statuscode";;
302)
echo -ne "\t $statuscode";;
404)
echo -ne "\t $statuscode";;
esac
done