溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell腳本中條件表達(dá)式的示例分析

發(fā)布時間:2021-10-21 14:13:02 來源:億速云 閱讀:166 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Shell腳本中條件表達(dá)式的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、文件操作
1、表達(dá)式
-d:是否為目錄
-f:是否為文件
-e:文件或目錄是否存在
-r:當(dāng)前用戶是否有讀權(quán)限
-w:當(dāng)前用戶是否寫權(quán)限
-x:當(dāng)前用戶是否有可執(zhí)行權(quán)限

2、舉例說明(在命令行使用test命令或[])

[root@redis-singleton ~]# test -d /home/oldcat/tools/
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# test -d /home/oldcat/tools/redis-3.0.7.tar.gz 
[root@redis-singleton ~]# echo $?
1
[root@redis-singleton ~]# test -f /home/oldcat/tools/redis-3.0.7.tar.gz 
[root@redis-singleton ~]# echo $?
0
說明:輸出執(zhí)行結(jié)果為0表示真,反之為假

二、數(shù)值比較
1、表達(dá)式

-eq:兩個操作數(shù)是否相等
-ne:兩個操作數(shù)是否不相等
-le:左操作數(shù)是否小于或等于右操作數(shù)
-ge:左操作數(shù)是否大于或等于右操作數(shù)
-lt:左操作數(shù)是否小于右操作數(shù)
-gt:左操作數(shù)是否大于右操作數(shù)

2、舉例說明

[root@redis-singleton ~]# test 1 -eq 2
[root@redis-singleton ~]# echo $?
1
[root@redis-singleton ~]# test 1 -eq 1
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# test 2 -gt 1
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# test 1 -ge 1
[root@redis-singleton ~]# echo $?
0
說明:輸出執(zhí)行結(jié)果為0表示真,反之為假

三、字符串比較

1、表達(dá)式
=:兩個字符串是否相等
!=:兩個字段串是否不相等
-z:判斷字段串是否為空

2、舉例說明

[root@redis-singleton ~]# test "chenfl" = "chenfL"
[root@redis-singleton ~]# echo $?
1
[root@redis-singleton ~]# test "chenfl" != "chenfl"
[root@redis-singleton ~]# echo $?
1
[root@redis-singleton ~]# test "chenfl" = "chenfl"
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# test -z ""
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# test -z "chenfl"
[root@redis-singleton ~]# echo $?
1
說明:輸出執(zhí)行結(jié)果為0表示真,反之為假

四、邏輯判斷
1、表達(dá)式
&&:邏輯與,只有前后兩個表達(dá)式都為真執(zhí)行結(jié)果才為真(0),否則為假(1)
||:邏輯或,前后兩個表達(dá)式只要有一個為真,執(zhí)行結(jié)果為真(0),否則為假(1)
!:邏輯非,如果表達(dá)式的執(zhí)行結(jié)果為真則為假(1),如果表達(dá)式的執(zhí)行結(jié)果為假即為真(0)

2、舉例說明

[root@redis-singleton ~]# [ 1 -eq 1 ] && [ "hehe" != "hehe" ]
[root@redis-singleton ~]# echo $?
1
[root@redis-singleton ~]# [ 1 -eq 1 ] || [ "hehe" != "hehe" ]
[root@redis-singleton ~]# echo $?
0
[root@redis-singleton ~]# [ ! -d /home/oldcat/tools/ ]
[root@redis-singleton ~]# echo $?
1
說明:輸出執(zhí)行結(jié)果為0表示真,反之為假

以上是“Shell腳本中條件表達(dá)式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI