卷曲回显服务器响应Bash

时间:2017-03-11 16:29:44

标签: bash curl

我试图创建一个bash脚本,用于检查列表状态代码中的url和来自标头的echo服务器名称。我真的很新。

#!/bin/bash
        while read LINE; do
          curl -o /dev/null --silent --head --write-out '%{http_code}' "$LINE"
          echo " $LINE" &
          curl -I /dev/null --silent --head | grep -Fi Server "$SERVER"
          echo " $SERVER"
        done < dominios-https

我得到以下输出

301 http://example.com
grep: : No such file or directory

1 个答案:

答案 0 :(得分:0)

1)如果文本文件没有以新行结束,则读取LINE不能使用最后一行。

2)你没有在任何地方设置“$ SERVER”,grep说出来

3)并非所有服务器都在标题

中返回“Server:”

试一试:

scriptDir=$( dirname -- "$0" )
for siteUrl in $( < "$scriptDir/myUrl.txt" )
do
    if [[ -z "$siteUrl" ]]; then break; fi # break line if him empty
    httpCode=$( curl -I -o /dev/null --silent --head --write-out '%{http_code}' "$siteUrl" )
    echo "HTTP_CODE = $httpCode"
    headServer=$( curl -I --silent --head "$siteUrl" | grep "Server" | awk '{print $2}' )
    echo "Server header = $headServer"
done