2015-05-19 44 views
3

我寫了下面的腳本:bash腳本來檢查重定向,捲曲

#!/bin/bash 

host="www.myhost.com" 

IFS=$" " ; 

for x in $(cat foo.list) ; do 
     srcURI=$(echo $x | awk '{print $1}') ; 
     destURI=$(echo $x | awk '{print $2}') ; 
     srcCURL=$(curl -s -H "Host: ${host}" -I "qualified.domain.local${srcURI}" |grep "Location:" | tr -d [[:cntrl:]]) ; 
     destCURL=$(curl -s -H "Host: ${host}" -I "qualified.domain.local${srcURI}" |grep "301" | tr -d [[:cntrl:]]) ; 

     echo " " 
     echo " "   
     echo -e "srcURI = ${srcURI}" 
     echo -e "destURI = ${destURI}" 
     echo -e "srcCURL = ${srcCURL}" 
     echo -e "destCURL = ${destCURL}" 
     echo -e "Host:DestURI = Location: http://${host}${destURI}" 
     echo -e "Host:srcCURL = ${srcCURL}" 
     echo " " 
     echo " " 
#  if [[ ${srcCURL} == "Location: http://${host}${destURI}" ]] ; then 
#    echo -e "Good"; 
#  else 
#    echo -e "Bad"; 
#  fi 
done 

我有一個名爲的foo.list文件,它具有的URI我想用檢查列表我的for循環;它看起來像這樣:

/源/ URI /位置/目標/ URI /這裏

/源2/URI /位置/ dest2/URI /這裏

/source3/URI /位置/ dest3 /這裏的uri

我想使用awk將源代碼分配給$ 1,並將目標分配給$ 2,如果我有1個uri,則工作正常,但如果我擁有多個,它似乎是chomp的一部分。

該代碼看起來很亂,因爲我已經得到了用於調試目的的隨機回聲。

在腳本結尾處(已註釋掉),我試圖將源URL的重定向目標與可疑目標進行比較。

我哪裏錯了?

回答

3

不知道我得到了所有的細節的權利,但我會嘗試這樣的事:

while read -r src dst; do 
    redir="$(curl -q -s -S -o /dev/null -w '%{redirect_url}' qualified.domain.local"${src}")" 
    if [ $? -eq 0 -a x"$redir" = qualified.domain.local"${dst}" ]; then echo Good; else echo Bad; fi 
done <foo.list 
2

感謝lcd047!

使用你放什麼我有以下幾點:

#!/bin/bash 

read -p "Enter the host: " host 

while read -r src dst; do 
     srcCURL=$(curl -s -H "Host: ${host}" -I "some.domain.local${src}" |grep "Location:" | tr -d [[:cntrl:]]) ; 
     dstURL="Location: http://${host}${dst}" 

     #echo ${srcCURL} 
     #echo ${dstURL} 

     if [ $? -eq 0 -a "${srcCURL}" == "${dstURL}" ]; then 
       echo -e "[\033[0;32mOK\033[0m]: ${src} \033[0;1mredirects to\033[0m ${dst}"; 
     else 
       echo -e "[\033[0;31mERROR\033[0m]: ${src} does not redirect to ${dst}"; 
     fi 
done <foo.list 

它完美的作品!