每種編程語言都會有最基本的東西,順序語句,控制語句等,linux 腳本編程中的if else控制與其餘編程語言仍是有很不同的地方的。 linux
if判斷語句成功的依據是返回的exit code是否是0,即語句有沒有正確執行,執行系統命令如ls等時會正確產生exit code,二全部的test如-z -gt等等的若是爲true則使exit code爲0,if else語句的行爲就跟前面的同樣了。 正則表達式
1.數字的比較有 -gt -lt -ge -le -eq -ne 六種方式。 express
2.字符串型比較 -z(length=0) -n(length>0) > < != = 不過腳本會將<與>視爲輸入輸出重定向,因此須要加\來進行轉義,判斷依據是ascii序 編程
3.文件判斷 -defrwx -s(文件存在且不爲空) -O(文件存在且當前用戶爲文件全部者)-G 編程語言
-nt -ot (newer older) spa
4.雙括號(( expression )) 能夠應用一些更高級的數學公式規則:++ -- ! << >> & | && || code
**(方) ci
5.雙方括號[[ expression ]]應用一些更高級的字符串比較,能夠應用正則表達式來實現模式匹配。 字符串
6.case語句: 數學
case var in
pattern1|pattern2) command1;;
pattern3) command2;;
*) command3;;
esac
case與esac對應表示一個case語句,多個條件能夠用|應用同一條command,* 表示剩下全部的,命令的最後結尾要雙分號;;結束