shell?判斷語句腳本用法解析
更新時間:2023年09月18日 09:25:15 作者:bug生產(chǎn)者
這篇文章主要為大家介紹了shell判斷語句腳本用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
判斷語句
使用test來進行判斷
# test [選項] 文件 test -d /Users/zhanghe/desktop/user/shell
示例:
#如果該文件是目錄則輸出yes,否則輸出no test -d /Users/zhanghe/desktop/user/shell && echo yes || echo no
選項
按照文件類型判斷
-d 判斷文件是否存在,且為目錄 -e 判斷文件是否存在 -f 判斷文件是否存在,且為普通文件 -s 判斷文件是否存在,并且是否為非空文件 -b 判斷文件是否為塊設備文件 -c 判斷文件是否為字符設備文件 -g 判斷文件是否設置setgid位 -h 判斷文件是否是符號鏈接 -L 判斷文件是否為符號鏈接 -p 判斷文件是否為管道文件 -u 判斷文件是否設置setuid位 #示例 test -s stu.txt
按照權限判斷
-r 判斷文件是否存在,且是否有讀權限 -w 判斷文件是否存在,且是否有寫權限 -x 判斷文件是否存在,且是否有執(zhí)行權限 #示例 test -w stu.txt
數(shù)值比較
-eq 等于 -ne 不等于 -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于 #示例 test 1 -eq 2
字符串比較
-z 判斷字符串是否為空 -n 判斷字符串是否非空 == 判斷兩個字符串是否相等 != 判斷兩個字符串是否不等 #示例 test "aa" == "ab"
邏輯判斷
-a 邏輯與 -o 邏輯或 ! 邏輯非 #示例 test "aa" == "aa" -a "ab" == "aa"
上述的test可以使用[ ]來替代
如:
[ -s stu.txt ] [ "aa" == "ab" ]
還有一種[[ 條件 ]]也可以進行條件判斷,對于test和[]如果表達式包含特殊字符的話,需要進行轉(zhuǎn)義,而對于[[ 條件 ]]則不需要理會特殊字符的影響,但是注意[[的后面和]]的前面都至少有一個以上的空格符才行
字符串包含
可以看到上述提供的只是基礎的判斷,那字符串包含如何進行判斷呢
使用grep
if [[ -n `echo "abcd" | grep "ab"` ]] then echo "包含" fi
使用通配符
if [[ "abcd" == *ab* ]] then echo "包含" fi
以上就是shell 判斷語句的詳細內(nèi)容,更多關于shell 判斷語句的資料請關注腳本之家其它相關文章!
相關文章
linux每天定時備份數(shù)據(jù)庫并刪除十天前數(shù)據(jù)詳細步驟
每天定時備份數(shù)據(jù)庫需要用到Linux的定時任務,利用Linux的crondtab 命令。下面通過本文給大家?guī)砹薼inux每天定時備份數(shù)據(jù)庫并刪除十天前數(shù)據(jù)詳細步驟,感興趣的朋友一起看看吧2018-06-06Shell腳本實現(xiàn)的單機流量統(tǒng)計功能
這篇文章主要介紹了Shell腳本實現(xiàn)的單機流量統(tǒng)計功能,本文給出實現(xiàn)代碼和使用方法,及運行結(jié)果,需要的朋友可以參考下2014-11-11fedora 23 lvm2格式 根目錄磁盤空間不足 擴容方法
下面小編就為大家?guī)硪黄猣edora 23 lvm2格式 根目錄磁盤空間不足 擴容方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02