单/双中括号与测试条件
測(cè)試命令
tesst
[]內(nèi)置命令
[[]]bash中的關(guān)鍵字
單中括號(hào)
格式[#express1#op#express2#]
注意:
其中#代表括號(hào)不能省略
不能匹配模式
變量引用應(yīng)用雙引號(hào)括起,尤其當(dāng)變量引用有空格時(shí)
與或非形式-a –o -not
常量應(yīng)用單/雙引號(hào)括起
整數(shù)比較時(shí),< == ...需用反斜號(hào)轉(zhuǎn)義,相當(dāng)于-lt -eq ...
雙中括號(hào)
格式[[#pattern1#op#pattern2#]]
注意:
其中#代表括號(hào)不能省略
可用于模式匹配,支持正則表達(dá)式
變量引用最好用雙引號(hào)括起,匹配的模式中的單雙引號(hào)都代表符號(hào)自身
與或非形式&& || !
整數(shù)比較時(shí),< == ...需用反斜號(hào)轉(zhuǎn)義,相當(dāng)于-lt -eq ...
算術(shù)表達(dá)
let var_name=算術(shù)表達(dá)式
let var_name+=valuelet不能省略
let var_name++let不能省略
var_name=$[算術(shù)表達(dá)式]算術(shù)表達(dá)式空格較隨意
var_name=$((算術(shù)表達(dá)式))算術(shù)表達(dá)式空格較隨意
var_name=${var_name:-value}var_name非空保留原值;var_name空賦值value
測(cè)試條件
布爾運(yùn)算:與&&或||非!
組合條件測(cè)試:與-a或-o非-not
二元整數(shù)測(cè)試:num1 op num2
-eq等于 -ne不等于
-le小于等于 -ge大于等于 -lt小于 -gt大于
雙目字符測(cè)試:str1 op str2
==等于 !=或<>不等于 >大于 <小于
=~左側(cè)是字符串,右側(cè)是一個(gè)模式,判斷左側(cè)的字符串能否被右側(cè)的模式所匹配,通常只在[[]]中使用,模式中可以使用行首、行尾錨定符,但是模式不要加引號(hào)
單目字符測(cè)試:
-n str不空為真,空為假
-z str空為真,不空為假
單目文件測(cè)試op /path/to/somefile
-e文件是否存在 -a同前 -f普通文件 -d目錄
-b存在且塊設(shè)備 -c存在且字符設(shè)備 -h/-L存在且符號(hào)鏈接
-p存在且管道 -S存在且套接字 -s存在且不為空
-r存在且有讀權(quán)限 -w存在且有寫(xiě)權(quán)限 -x存在且執(zhí)行權(quán)限
雙目文件測(cè)試file1 op file2
-ntfile1比f(wàn)ile2新
-otfile1比f(wàn)ile2老
-effile1與file2是否指向同一個(gè)文件,包括軟硬鏈接
轉(zhuǎn)載于:https://www.cnblogs.com/hesper/p/8901774.html
總結(jié)
以上是生活随笔為你收集整理的单/双中括号与测试条件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转]locate命令的使用
- 下一篇: 背包问题(动态规划)