在shell中如何判斷一個變數是否為空白

來源:互聯網
上載者:User
判斷一個指令碼中的變數是否為空白,我寫了一個這樣的shell指令碼:

  1. #!/bin/sh
  2. #filename: test.sh
  3. para1=
  4. if [ ! -n $para1 ]; then
  5.   echo "IS NULL"
  6. else
  7.   echo "NOT NULL"
  8. fi 

然後把該指令碼:test.sh通過chmod +x 改為可以執行的指令碼,執行後輸出的結果為: NOT NULL,很是奇怪,最後,通過查詢一些資料發現,可以通過如下方式判斷一個shell變數是否為空白:

1. 變數通過" "引號引起來

       如下所示:,可以得到結果為 IS NULL.

  1. #!/bin/sh
  2. para1=
  3. if [ ! -n "$para1" ]; then
  4.   echo "IS NULL"
  5. else
  6.   echo "NOT NULL"
  7. fi 

2. 直接通過變數判斷

       如下所示:得到的結果為: IS NULL

  1. #!/bin/sh
  2. para1=
  3. if [ ! $para1 ]; then
  4.   echo "IS NULL"
  5. else
  6.   echo "NOT NULL"
  7. fi 

3. 使用test判斷

     得到的結果就是: dmin is not set!  

  1. #!/bin/sh
  2. dmin=
  3. if test -z "$dmin"
  4. then
  5.   echo "dmin is not set!"
  6. else  
  7.   echo "dmin is set !"
  8. fi

 

4. 使用""判斷

  1. #!/bin/sh 
  2. dmin=
  3. if [ "$dmin" = "" ]
  4. then
  5.   echo "dmin is not set!"
  6. else  
  7.   echo "dmin is set !"
  8. 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.