日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符)

發布時間:2025/3/15 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#!/bin/sh#測試各種字符串比較操作。 #shell中對變量的值添加單引號,雙引號和不添加的區別:對類型來說是無關的,即不是添加了引號就變成了字符串類型, #單引號不對相關量進行替換,如不對$符號解釋成變量引用,從而用對應變量的值替代,雙引號則會進行替代 #author:tenfyguoA="$1" B="$2"echo "輸入的原始值:A=$A,B=$B"# 判斷參數是否為空 if [ ! -n "$2" ]; thenecho "[-] Parameters of illegal !"helpexit 1 fi# 判斷與0是否相等 pid_cnts=$(ps -ef | grep mysqld | grep -v grep | awk '{print $2}' | wc -l)if [ $pid_cnts -eq 0 ];thenecho "process mysqld is exception,please check." elseecho "mysqld count = $pid_cnts." fi#判斷字符串是否相等 if [ "$A" = "$B" ];thenecho "[ = ]" fi#判斷字符串是否相等,與上面的=等價 if [ "$A" == "$B" ];thenecho "[ == ]" fi#注意: ==的功能在[[]]和[]中的行為是不同的,如下 #如果$a以”a”開頭(模式匹配)那么將為true if [[ "$A" == a* ]];thenecho "[[ ==a* ]]" fi#如果$a等于a*(字符匹配),那么結果為true if [ "$A" == "a*" ];thenecho "==/"a*/"" fi#File globbing(通配) 和word splitting將會發生, 此時的a*會自動匹配到對應的當前以a開頭的文件 #如在當前的目錄中有個文件:add_crontab.sh,則下面會輸出ok #if [ "add_crontab.sh" == a* ];then # echo "ok" #fi if [ "$A" == a* ];thenecho "[ ==a* ]" fi#如果$a等于a*(字符匹配),那么結果為true if [ "$A" == "a*" ];thenecho "==/"a*/"" fi#字符串不相等 if [ "$A" != "$B" ];thenecho "[ != ]" fi#字符串不相等 if [[ "$A" != "$B" ]];thenecho "[[ != ]]" fi#字符串不為空,長度不為0 if [ -n "$A" ];thenecho "[ -n ]" fi#字符串為空.就是長度為0. if [ -z "$A" ];thenecho "[ -z ]" fi#需要轉義<,否則認為是一個重定向符號 if [ $A /< $B ];thenecho "[ < ]" fiif [[ $A < $B ]];thenecho "[[ < ]]" fi#需要轉義>,否則認為是一個重定向符號 if [ $A /> $B ];thenecho "[ > ]" fiif [[ $A > $B ]];thenecho "[[ > ]]" fi

總結

以上是生活随笔為你收集整理的Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。