您好,登錄后才能下訂單哦!
shell運算符主要有:比較運算符(用于整數比較)、字符串運算符(用于字符串測試)、文件操作運算符(用于文件測試)、算術運算符、邏輯運算符、位運算符、自增自減運算符等。
測試結構:
方法一: test expression
方法二:[ expression ] (注意:中括號左右的空格)
一、整數比較
整數測試符:
-eq 等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
-ne 不等于
二、字符串測試
字符串測試符:
-z "string" 為空返回真,否則為假
-n "string" 非空返回真,否則為假
"string1" = "string2" 相同返回真,否則為假
"string1" != "string2" 不相同返回真,否則為假
"string1" > "string2" 按字典排序,string1在string2之前,返回真,否則為假
"string1" < "string2" 按字典排序,string1在string2之后,返回真,否則為假
注意:[ "str1" \> "str2 ] (需要進行轉義)
[[ "str1" \> "str2 ]] (不需要進行轉義)
三、文件測試
文件測試符:
-b FILE 塊文件返回真
-c FILE 字符設備文件返回真
-d FILE 目錄文件返回真
-e FILE 存在返回真
-f FILE 普通文件返回真
-x FILE 可執行文件返回真
-w FILE 可寫返回真
-r FILE 可讀返回真
-l FILE 鏈接文件返回真
-p FILE 管道文件返回真
-s FILE 文件大小不為0返回真
-S FILE socket文件返回真
-g FILE 文件設置了SGID時返回真
-u FILE 文件設置了SUID時返回真
-k FILE 文件設置了sticky屬性時返回真
-G FILE 文件屬于有效的用戶組時返回真
-O FILE 文件屬于有效的用戶時返回真
FILE1 -nt FILE2 FILE1比FILE2新時返回真
FILE1 -ot FILE2 FILE1比FILE2舊時返回真
四、算術運算符(結合shell內建命令let使用)
常規算術運算符
+、-、*、/、%、**
復合算術運算符
+=、-=、*=、/=、%=
其它算數運算符
1)$[]和$(( ))
2)expr命令
高精度計算(bc命令)
eg. bc <<< "scale=2;111/222;"
echo "scale=2;111/222;" | bc
五、邏輯運算
邏輯測試符:
!expression 邏輯非
expression1 -a expression2 邏輯與,同時為真,測試結果為真
expression1 -o expression2 邏輯或,只要有一個為真,測試結果為真
邏輯運算符:
! 邏輯非
&& 邏輯與
|| 邏輯或
六、位運算
<< 左移運算
>> 右移運算
& 按位與運算
| 按位或運算
^ 按位異或運算
~ 按位非運算
七、自增自減
++ 自增
-- 自減
注意:操作對象只能是變量,不能是常數或表達式
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。