1. 程式人生 > >Linux 一些表示式和運算子

Linux 一些表示式和運算子

條件表示式

表示式 示例
[ expression ] [ 5 -eq 5 ]
[[ expression ]] [[ 5 -eq 5 ]]
test expression test 1 -eq 1

以下符號用於整數比較測試:

比較符 含義
-eq 等於
-ne 不等於
-gt 大於
-lt 小於
-ge 大於或等於
-le 小於或等於

以下符號用於字串比較

符號 描述
== 等於
!= 不等於
> 根據ASCII碼錶判斷大小,大於
< 根據ASCII碼錶判斷大小,小於
>= 大於等於
<= 小於等於
-n 字串長度不等於0則為真
-z 字串長度等於0則為真
str 字串存在則為真

注意:
使用-z或者-n判斷字串長度時,變數要加雙引號

如果使用雙中括號就不用雙引號了

檔案測試:

測試符 含義
-e 檔案或目錄存在為真
-f 檔案存在為真
-d 目錄存在為真
-r 有讀許可權為真
-w 有寫許可權為真
-x 有執行許可權為真
-s 檔案存在並且大小大於0為真
為 True

布林運算子:

運算子 含義
! 非關係,將結果取反
-a AND, 且關係,在[ ]表示式中使用
-o OR, 或關係,在[ ]表示式中使用

邏輯表示式:
邏輯表示式有:&&(邏輯與)、||(邏輯或)、兩者再[[ ]]和(())表示式中使用:

[[ 1 -eq 1 && 2 > 1 ]]結果為True

(( 1 == 1 && 2 > 1 ))結果為True

整數運算子:

運算子 描述
+ 加法
- 減法
* 乘法
/ 除法
% 取餘

運算表示式:

運算表示式 示例
$(()) $((5+5))
$[] $[5+5]

注意:

$(())表示式還可以做三目運算:

echo $((100>99?1:2)) 如果100大於99 就返回1否則返回2

返回值不支援字串。