我已經創建了一個腳本來更新iptables中的一些ipaddress。因此我正在描述我正面臨的問題。shell腳本比較兩個變量
問題:
- 比較腳本
- 中的兩個變量之間沒有發生在腳本我需要執行一個命令即結束;服務重啓/停止等,並且在執行腳本時這些命令的輸出應該是可見的。
1)這裏我比較兩個變量字符串:
BASE=172.31.0.0
CMD=172.31.1.0
if [[ "$CMD" == "$BASE" ]]; then
echo "ip are same"
else
echo "not matched"
fi
但在執行上面的腳本沒有響應/輸出。這裏沒有比較沒有發生......只是建議解決此問題的最佳解決方案。
2)執行腳本之後我需要重新啓動的iptables:
BASE=172.31.0.0
CMD=172.31.1.0
if [[ "$CMD" == "$BASE" ]]; then
echo "ip are same"
else
echo "not matched"
fi
service iptables restart
iptables -nvL
的腳本應顯示的最後兩行(命令)的輸出。請告訴我最好的解決方案,以及如何以最好的方式做到這一點。
本文發表獎項。祝你好運 – 2013-02-13 12:35:33
所以......你正在使用什麼外殼? bash,還是sh?你知道他們不同,對吧?因爲這樣,該腳本在bash中工作並在sh中產生錯誤。這兩者都不是你正在報告的內容。 – ghoti 2013-02-13 12:45:16
感謝您的回覆,我正在使用bash腳本,並試圖通過./script.sh來執行此腳本。 – suboss87 2013-02-13 14:37:56