您好,登錄后才能下訂單哦!
這篇文章主要介紹“Shell字符串間有哪些異同點”,在日常操作中,相信很多人在Shell字符串間有哪些異同點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Shell字符串間有哪些異同點”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
#!/bin/sh #測試各種字符串比較操作。 #shell中對變量的值添加單引號,爽引號和不添加的區別:對類型來說是無關的,即不是添加了引號就變成了字符串類型, #單引號不對相關量進行替換,如不對$符號解釋成變量引用,從而用對應變量的值替代,雙引號則會進行替代 #author:tenfyguo A="$1" B="$2" echo "輸入的原始值:A=$A,B=$B" #判斷字符串是否相等 if [ "$A" = "$B" ];then echo "[ = ]" fi #判斷字符串是否相等,與上面的=等價 if [ "$A" == "$B" ];then echo "[ == ]" fi #注意:==的功能在[[]]和[]中的行為是不同的,如下 #如果$a以”a”開頭(模式匹配)那么將為true if [[ "$A" == a* ]];then echo "[[ ==a* ]]" fi #如果$a等于a*(字符匹配),那么結果為true if [[ "$A" == "a*" ]];then echo "==/"a*/"" fi #File globbing(通配) 和word splitting將會發生, 此時的a*會自動匹配到對應的當前以a開頭的文件 #如在當前的目錄中有個文件:add_crontab.sh,則下面會輸出ok #if [ "add_crontab.sh" == a* ];then #echo "ok" #fi if [ "$A" == a* ];then echo "[ ==a* ]" fi #如果$a等于a*(字符匹配),那么結果為true if [ "$A" == "a*" ];then echo "==/"a*/"" fi #字符串不相等 if [ "$A" != "$B" ];then echo "[ != ]" fi #字符串不相等 if [[ "$A" != "$B" ]];then echo "[[ != ]]" fi #字符串不為空,長度不為0 if [ -n "$A" ];then echo "[ -n ]" fi #字符串為空.就是長度為0. if [ -z "$A" ];then echo "[ -z ]" fi #需要轉義<,否則認為是一個重定向符號 if [ $A /< $B ];then echo "[ < ]" fi if [[ $A < $B ]];then echo "[[ < ]]" fi #需要轉義>,否則認為是一個重定向符號 if [ $A /> $B ];then echo "[ > ]" fi if [[ $A > $B ]];then echo "[[ > ]]" fi
到此,關于“Shell字符串間有哪些異同點”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。