運算子
描述
示例
檔案比較運算子
-e filename
如果 filename存在,則為真
[ -e /var/log/syslog ]
-d filename
如果 filename為目錄,則為真
[ -d /tmp/mydir ]
-f filename
如果 filename為常規檔案,則為真
[ -f /usr/bin/grep ]
-l filename
如果 filename為符號鏈結,則為真
[ -l /usr/bin/grep ]
-r filename
如果 filename可讀,則為真
[ -r /var/log/syslog ]
-w filename
如果 filename可寫,則為真
[ -w /var/mytmp.txt ]
-x filename
如果 filename可執行,則為真
[ -l /usr/bin/grep ]
filename1-nt filename2
如果 filename1比 filename2新,則為真
[ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2
如果 filename1比 filename2舊,則為真
[ /boot/bzimage -ot arch/i386/boot/bzimage ]
字串比較運算子(請注意引號的使用,這是防止空格擾亂**的好方法)
-z string
如果 string長度為零,則為真
[ -z "$myvar" ]
-n string
如果 string長度非零,則為真
[ -n "$myvar" ]
string1= string2
如果 string1與 string2相同,則為真
[ "$myvar" = "one two three" ]
string1!= string2
如果 string1與 string2不同,則為真
[ "$myvar" != "one two three" ]
算術比較運算子
num1-eq num2
等於[ 3 -eq $mynum ]
num1-ne num2
不等於[ 3 -ne $mynum ]
num1-lt num2
小於[ 3 -lt $mynum ]
num1-le num2
小於或等於
[ 3 -le $mynum ]
num1-gt num2
大於[ 3 -gt $mynum ]
num1-ge num2
大於或等於
[ 3 -ge $mynum ]
shell指令碼判斷檔案型別
1在shell中稱為 位置引數 表示傳入的第1個引數 第1個入參 test z 1 是乙個判斷表示式,用於判斷 1的值是否為空字串。雖然 linux 和 unix 的每個版本中都包含 test 命令,但該命令有乙個更常用的別名 左方括號 test 及其別名通常都可以在 usr bin 或 bin 取...
shell 指令碼檔案追蹤與 debug
scripts 在執行之前,最怕的就是出現語法錯誤的問題了!那麼我們如何 debug 呢?有沒有辦法不需要透過直接執行該 scripts 就可以來判斷是否有問題呢?呵呵!當然是有的!我們就直接以 bash 的相關引數來進行判斷吧!sh或bash nvx scripts.sh 選項與引數 n 不要執行...
Shell指令碼之 字串
字串可以用單引號,也可以用雙引號,也可以不用引號。單引號 str this is a string 單引號字串的限制 1.單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的 2.單引號字串中不能出現單引號 對單引號使用轉義符後也不行 雙引號 name runnyu str hello,n 雙...