在shell中如何判斷一個變量是否爲空

在shell中如何判斷一個變量是否爲空
判斷一個腳本中的變量是否爲空,我寫了一個這樣的shell腳本:javascript

 

C代碼 html

 收藏代碼

  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變量是否爲空:java

 

 

1. 變量經過" "引號引發來shell

 

以下所示:,能夠獲得結果爲 IS NULL.app

 

C代碼 spa

 收藏代碼

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

 

 

2. 直接經過變量判斷htm

 

以下所示:獲得的結果爲: IS NULLip

 

C代碼 get

 收藏代碼

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

 

 

3. 使用test判斷flash

 

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

 

C代碼 

 收藏代碼

  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. 使用""判斷

 

C代碼 

 收藏代碼

  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   

 

來源:http://www.kaiyuanba.cn/html/1/131/137/4106.htm

相關文章
相關標籤/搜索