我想寫一個簡短的腳本,檢查從5位數字我們的郵政編碼列表中的郵政編碼verizon fios可用性。BASH如果其他與引用文本
這個我的基礎工作,但比較從捲髮recived輸出到預期的輸出在if語句不起作用。
我知道有一個更好的方法來做到這一點,但我真的很感興趣這個方法有什麼問題。我認爲這與報價越來越混亂有關。
讓我知道你們的想法。我原本以爲這將是一個快速的小腳本。哈。感謝您的幫助
這是我到目前爲止有:
#!/bin/bash
Avail='<link rel="canonical" href="http://fios.verizon.com/fios-plans.html#availability-msg" />'
NotAvail='<link rel="canonical" href="http://fios.verizon.com/order-now.html#availability-msg" />'
while read zip; do
chk=`curl -s -d "ref=GIa6uiuwP81j047HjKMHOwEyW4QJTYjG&PageID=page9765&AvailabilityZipCode=$zip" http://fios.verizon.com/availability_post4.php --Location | grep "availability-msg"`
#echo $chk
if [ "$chk" = "$Avail" ]
then
fios=1
elif [ "$chk" = "$NotAvail" ]
then
fios=0
else
fios=err
fi
echo "$zip | $fios"
done < zipcodes.txt
你確定這是一個bash的問題?你用curl命令檢查了你實際收到的東西嗎?也許頁面已經改變。我在結果中找不到'$ Avail'和'$ NotAvail'的值。 – erik
我可以證實@erik是正確的,'$ Avail'和'$ NotAvail'不會顯示在輸出中。鑑於'ref'參數,頁面可能非常動態。否則,您的腳本似乎捲曲並正確拉取郵編。 –
I $ Avail和$ NotAvail是前幾行設置的變量。該部分是正確的。 –