Shell的運算子和條件判斷

2021-10-18 10:24:41 字數 1822 閱讀 4859

1.基本語法

(1)「((運

算式))

」或

「((表示式))」或「

((表示式)

)」或「

[表示式]」

(2)expr + , - , *, /, % 加,減,乘,除,取餘

注意:expr運算子間要有空格

2.案例實操:

(1)計算3+2的值

[root@bigdata shell]$ expr 2+3

5

(2)計算3-2的值

[root@bigdata shell]$ expr 3-2

1

(3)計算(2+3)x4的值

(a)expr一步完成計算

[root@bigdata shell]$ expr `expr 2

+3` \*

420

(b)採用$ [表示式]方式

[root@bigdata shell]# s=$[(2

+3)*

4][root@bigdata shell]# echo $s

20

1.基本語法

[ condition ]

(條件)(注意condition前後要有空格)

注意:條件非空即為true,[ atguigu ]返回true, 返回false。

2. 常用判斷條件

(1)兩個整數之間比較

= 字串比較

-lt 小於(less than) -le 小於等於(less equal)

-eq 等於(equal) -gt 大於(greater than)

-ge 大於等於(greater equal) -ne 不等於(not equal)

(2)按照檔案許可權進行判斷

-r 有讀的許可權(read)			-w 有寫的許可權(write)

-x 有執行的許可權(execute)

(3)按照檔案型別進行判斷

-f 檔案存在並且是乙個常規的檔案(file)

-e 檔案存在(existence) -d 檔案存在並是乙個目錄(directory)

3.案例實操

(1)23是否大於等於22

[root@bigdata shell]$ [

23-ge 22

][root@bigdata shell]$ echo $?

0

(2)helloworld.sh是否具有寫許可權

[root@bigdata shell]$ [

-w helloworld.sh ]

[root@bigdata shell]$ echo $?

0

(3)/opt/shell/huan.txt目錄中的檔案是否存在

[root@bigdata shell]# [

-e /opt/shell/huan.txt ]

[root@bigdata shell]# echo $?

0

[root@bigdata ~

]$ [ condition ]

&& echo ok || echo notok

ok[root@bigdata shell]$ [ condition ]&&[

]|| echo notok

notok

shell 運算子 條件判斷

1 基本語法 1 表示式 或 表示式 2 expr 加,減,乘,除,取餘注意 expr運算子間要有空格 計算 2 3 x4的值 採用 表示式 方式 expr expr 2 3 4 s 2 3 4 echo s 1 基本語法 condition 注意condition前後要有空格 注意 條件非空即為t...

運算子,條件判斷

邏輯運算子 and 邏輯 與 or 邏輯 或 條件運算子 not 邏輯 not可以對符號右側的值進 運算對於布林值,運算會對其進 取反操 作,true變false,false變true 例 a true b false c not a d not b print c為 c print d為 d 結果...

條件運算子和逗號運算子

條件運算子 表示式1 表示式2 表示式3 運算規劃 如果表示式1為真,返回表示式2的結果,否則返回表示式3的結果 例如 a 1,b 2 a b a b 返回值為2 注意表示式是右結合的.例 a 1,b 2,c 3 a b a b?c b 相當於 a b a b?c b 返回值為3 逗號運算子 多個表...