運算子描述示例
檔案比較運算子
-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
可執行,則為真
[ -x /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 ]
測試命令
test命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案3個方面的測試,其測試符和相應的功能分別如下。
(1)數值測試:
-eq 等於則為真。
-ne 不等於則為真。
-gt 大於則為真。
-ge 大於等於則為真。
-lt 小於則為真。
-le 小於等於則為真。
(2)字串測試:
= 等於則為真。
!= 不相等則為真。
-z字串 字串長度為零則為真。
-n字串 字串長度非零則為真。
(3)檔案測試:
-e檔名 如果檔案存在則為真。
-r檔名 如果檔案存在且可讀則為真。
-w檔名 如果檔案存在且可寫則為真。
-x檔名 如果檔案存在且可執行則為真。
-s檔名 如果檔案存在且至少有乙個字元則為真。
-z檔名 檔案存在且長度為0返回真。
-d檔名 如果檔案存在且為目錄則為真。
-f檔名 如果檔案存在且為普通檔案則為真。
-c檔名 如果檔案存在且為字元型特殊檔案則為真。
-b檔名 如果檔案存在且為塊特殊檔案則為真
-o檔名 如果檔案屬於使用者本人返回真。
《Linux shell指令碼程式設計入門》
linux shell指令碼程式設計入門 linuxos在伺服器以及近來引發熱議的嵌入式系統中都得到廣泛應用,linuxshell指令碼程式設計入門 介紹的就是該程式必備的shell程式設計要素。尤其還收錄了現在門戶 企業等使用的主流套件centos communityenterpriseopera...
Linux shell指令碼程式設計基礎
把指令碼路徑寫入 path變數。帶上路徑執行,需要執行許可權。bash bash後跟上指令碼,該方法指令碼不需要執行許可權也能執行。bash 讀入指令碼內容,通過管道符交給bash執行。當前主機遠端呼叫其他主機的指令碼。1.宣告shell型別 bin bash 2.變數 3.函式 4.主程式 在編寫...
Linux Shell指令碼程式設計入門
shell 指令碼是包含一系列命令的文字本當 讀取執行該文字文件就可以執行文件裡面的命令 常用於執行批量事務處理 重複性操作 自動化運維 定時執行任務等 編寫乙個簡單 shell 指令碼 1 建立 shell 指令碼文件 vi hellow.sh2 編寫 shell 指令碼 注意第一行是標記這個指令...