Shell字串比較相等、不相等方法小結_linux shell

來源:互聯網
上載者:User
#!/bin/sh#測試各種字串比較操作。#shell中對變數的值添加單引號,爽引號和不添加的區別:對類型來說是無關的,即不是添加了引號就變成了字串類型,#單引號不對相關量進行替換,如不對$符號解釋成變數引用,從而用對應變數的值替代,雙引號則會進行替代#author:tenfyguoA="$1"B="$2"echo "輸入的原始值:A=$A,B=$B"#判斷字串是否相等if [ "$A" = "$B" ];thenecho "[ = ]"fi#判斷字串是否相等,與上面的=等價if [ "$A" == "$B" ];thenecho "[ == ]"fi#注意:==的功能在[[]]和[]中的行為是不同的,如下#如果$a以”a”開頭(模式比對)那麼將為true if [[ "$A" == a* ]];thenecho "[[ ==a* ]]"fi#如果$a等於a*(字元匹配),那麼結果為trueif [[ "$A" == "a*" ]];thenecho "==/"a*/""fi#File globbing(通配) 和word splitting將會發生, 此時的a*會自動匹配到對應的當前以a開頭的檔案#如在當前的目錄中有個檔案:add_crontab.sh,則下面會輸出ok#if [ "add_crontab.sh" == a* ];then #echo "ok"#fiif [ "$A" == a* ];thenecho "[ ==a* ]"fi#如果$a等於a*(字元匹配),那麼結果為trueif [ "$A" == "a*" ];thenecho "==/"a*/""fi#字串不相等if [ "$A" != "$B" ];thenecho "[ != ]"fi#字串不相等if [[ "$A" != "$B" ]];thenecho "[[ != ]]"fi#字串不為空白,長度不為0if [ -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
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.