我正在尋找一種在我的bash
腳本中採取不同行爲的方式,具體取決於我的外部IP地址。更具體的說,如果我的外部IP地址是111.111.111.111
然後做一些行動,否則做別的。在bash中測試grep輸出
這是我的代碼:
extIP=$(curl ifconfig.me | grep 111.111.111.111)
if [ -? ${extIP} ]
then
runExecutable
else
echo "111.111.111.111 is not your IP."
fi
我不知道如何測試extIP
。
非常感謝您的回覆!我也很想理解grep和sed。當你運行grep -o命令時,'[0-9] * \。[0-9] * \。[0-9] * \。[0-9] *'是什麼意思?對不起,新問題 – hihihi
嗨,一般'grep'正則表達式工作。實際上,'grep'代表[全局正則表達式打印](https://kb.iu.edu/d/abnd)。 '-o'代表_only matching_,這意味着它只顯示*正則表達式匹配的部分。 '[0-9] * \。[0-9] * \。[0-9] * \。[0-9] *''是一個正則表達式,用於捕獲xxx.xxx.xxx格式的數字。 xxx像IP地址一樣。它可以被優化爲只接受最多4位數字,但假設'ifconfig.me'只返回IP,那麼它可以安全使用。你可以學習更多關於正則表達式[這裏](https://regexone.com/)。 – juancab