[問題] script 問題

作者: shadow0104 (shadow)   2014-05-28 16:36:54
各位前輩好
小弟一次發文如果有不符合規範的地方再請炮小力一點
小弟最近因為工作需要在網路上找到一段程式碼但其中有幾個地方不太懂
查了GOOGLE大師也查不太到
if ! [[ $OCTET =~ ^[0-9]+$ ]]; then
這一個判斷式
Q1
if後面接驚嘆號為什麼意思
Q2
=~ ^[0-9]+$這一段又該做何解釋,=~ 及^[0-9]及+$各代表什麼含意
感謝各位前輩指教
作者: jokester (蠻王科科)   2014-05-28 17:31:00
像是shell的正則test,功能是看變數內容是否全數字先確定是哪種語言 如果是shell就查相應shell的test語句
作者: shadow0104 (shadow)   2014-05-28 17:48:00
謝謝指點,我再往這方面查詢
作者: goldie (阿良)   2014-05-29 09:25:00
看到兩個[[這是bash專有語法[[裡面支援擴充版正規(ERE)而=~即是採ERE比對,且ERE pattern寫在右邊這裡的ERE pattern: "^[0-9]+$"表一整行都是0到9的字元,且長度為1以上if 後面的 ! 則是將判斷結果反向

Links booklink

Contact Us: admin [ a t ] ucptt.com