欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell?判斷語(yǔ)句腳本用法解析

 更新時(shí)間:2023年09月18日 09:25:15   作者:bug生產(chǎn)者  
這篇文章主要為大家介紹了shell判斷語(yǔ)句腳本用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

判斷語(yǔ)句

使用test來(lái)進(jìn)行判斷

# test [選項(xiàng)] 文件
test -d /Users/zhanghe/desktop/user/shell

示例:

#如果該文件是目錄則輸出yes,否則輸出no
test -d /Users/zhanghe/desktop/user/shell && echo yes || echo no

選項(xiàng)

按照文件類型判斷

-d  判斷文件是否存在,且為目錄
-e  判斷文件是否存在
-f  判斷文件是否存在,且為普通文件
-s  判斷文件是否存在,并且是否為非空文件
-b  判斷文件是否為塊設(shè)備文件
-c  判斷文件是否為字符設(shè)備文件
-g  判斷文件是否設(shè)置setgid位
-h  判斷文件是否是符號(hào)鏈接
-L  判斷文件是否為符號(hào)鏈接
-p  判斷文件是否為管道文件
-u  判斷文件是否設(shè)置setuid位
#示例
test -s stu.txt

按照權(quán)限判斷

-r 判斷文件是否存在,且是否有讀權(quán)限
-w 判斷文件是否存在,且是否有寫權(quán)限
-x 判斷文件是否存在,且是否有執(zhí)行權(quán)限

#示例
test -w stu.txt

數(shù)值比較

-eq   等于
-ne   不等于
-gt   大于
-lt   小于
-ge   大于等于
-le   小于等于

#示例
test 1 -eq 2

字符串比較

-z  判斷字符串是否為空
-n  判斷字符串是否非空
==  判斷兩個(gè)字符串是否相等
!=  判斷兩個(gè)字符串是否不等

#示例
test "aa" == "ab"

邏輯判斷

-a   邏輯與
-o   邏輯或
!    邏輯非

#示例
test "aa" == "aa" -a "ab" == "aa"

上述的test可以使用[ ]來(lái)替代

如:

[ -s stu.txt ]
[ "aa" == "ab" ]

還有一種[[ 條件 ]]也可以進(jìn)行條件判斷,對(duì)于test和[]如果表達(dá)式包含特殊字符的話,需要進(jìn)行轉(zhuǎn)義,而對(duì)于[[ 條件 ]]則不需要理會(huì)特殊字符的影響,但是注意[[的后面和]]的前面都至少有一個(gè)以上的空格符才行

字符串包含

可以看到上述提供的只是基礎(chǔ)的判斷,那字符串包含如何進(jìn)行判斷呢

使用grep

if [[ -n `echo "abcd" | grep "ab"` ]]
then echo "包含"
fi

使用通配符

if [[ "abcd" == *ab* ]]
then echo "包含"
fi

以上就是shell 判斷語(yǔ)句的詳細(xì)內(nèi)容,更多關(guān)于shell 判斷語(yǔ)句的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論