看板 Linux 關於我們 聯絡資訊
各位前輩好 小弟一次發文如果有不符合規範的地方再請炮小力一點 小弟最近因為工作需要在網路上找到一段程式碼但其中有幾個地方不太懂 查了GOOGLE大師也查不太到 if ! [[ $OCTET =~ ^[0-9]+$ ]]; then 這一個判斷式 Q1 if後面接驚嘆號為什麼意思 Q2 =~ ^[0-9]+$這一段又該做何解釋,=~ 及^[0-9]及+$各代表什麼含意 感謝各位前輩指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.245.241.180 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1401266216.A.4A9.html
jokester:像是shell的正則test,功能是看變數內容是否全數字 05/28 17:31
jokester:先確定是哪種語言 如果是shell就查相應shell的test語句 05/28 17:32
shadow0104:謝謝指點,我再往這方面查詢 05/28 17:48
goldie:看到兩個[[這是bash專有語法 05/29 09:25
goldie:[[裡面支援擴充版正規(ERE) 05/29 09:29
goldie:而=~即是採ERE比對,且ERE pattern寫在右邊 05/29 09:30
goldie:這裡的ERE pattern: "^[0-9]+$"表一整行都是0到9的字元,且 05/29 09:33
goldie:長度為1以上 05/29 09:33
goldie:if 後面的 ! 則是將判斷結果反向 05/29 09:34