Bash脚本 - 不返回列/变量

时间:2014-10-07 23:37:29

标签: bash if-statement

我遇到了一个问题,经过几个小时的修补后我似乎无法弄清楚。我似乎无法将此脚本返回到最后一列。

#!/bin/bash
file="/Users/USER12/Desktop/url-list.txt"
log="/Users/USER12/Desktop/url-results.txt"
fmt="%-25s%-12s%-16s%-20s\n"
printf "$fmt" DOMAIN_NAME HTTP_CODE RESPONSE_TIME CONTENT_CHECK > "$log"
while read line
do
    read code time < <(curl -o /dev/null --silent --head --write-out '%{http_code} %{time_total}' "$line")
    curl "$line" 2>/dev/null > /Users/USER12/Desktop/domainQueryString_output.txt
    ifStatementConditional=`grep "THE CONTENT I'M LOOKING TO VERIFY" /Users/USER12/Desktop/domainQueryString_output.txt | wc -l`
    if [ $ifStatementConditional -eq 1 ] ; then 
            second_check="online"
        else 
            second_check="DOMAIN IS OFFLINE"
    fi
printf "$fmt" "$line" "$code" "$time" "$second_chance" >> "$log"
done <"$file"

它返回以下内容,但没有给最后一列....

DOMAIN_NAME              HTTP_CODE   RESPONSE_TIME   CONTENT_CHECK       
google.com               301         1.177                               

感谢帮助人员。帮助得到了很多赞赏。

1 个答案:

答案 0 :(得分:2)

你有&#34; $ second_chance&#34;你应该在哪里&#34; $ second_check&#34;。 除此之外,以下是进行if检查的更好方法:

if grep "THE CONTENT I'M LOOKING TO VERIFY" $yourfile -q
then
  ...
else
  ...
fi