script 問題 - Linux

Table of Contents

各位前輩好
小弟一次發文如果有不符合規範的地方再請炮小力一點
小弟最近因為工作需要在網路上找到一段程式碼但其中有幾個地方不太懂
查了GOOGLE大師也查不太到
if ! [[ $OCTET =~ ^[0-9]+$ ]]; then
這一個判斷式
Q1
if後面接驚嘆號為什麼意思
Q2
=~ ^[0-9]+$這一段又該做何解釋,=~ 及^[0-9]及+$各代表什麼含意

感謝各位前輩指教

--

All Comments

Ula avatarUla2014-05-29
像是shell的正則test,功能是看變數內容是否全數字
Elvira avatarElvira2014-06-03
先確定是哪種語言 如果是shell就查相應shell的test語句
Elvira avatarElvira2014-06-06
謝謝指點,我再往這方面查詢
Noah avatarNoah2014-06-08
看到兩個[[這是bash專有語法
Hedda avatarHedda2014-06-09
[[裡面支援擴充版正規(ERE)
Audriana avatarAudriana2014-06-09
而=~即是採ERE比對,且ERE pattern寫在右邊
Adele avatarAdele2014-06-13
這裡的ERE pattern: "^[0-9]+$"表一整行都是0到9的字元,且
長度為1以上
Kyle avatarKyle2014-06-16
if 後面的 ! 則是將判斷結果反向