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

2021-08-14 22:27:27 字數 1229 閱讀 5304

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

判斷乙個指令碼中的變數是否為空,我寫了乙個這樣的shell指令碼:

c**  

#!/bin/sh

#filename: test.sh

para1=  

if [ ! -n $para1 ]; then  

echo "is null"

else

echo "not null"

fi    

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

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

如下所示:,可以得到結果為 is null.

c**  

#!/bin/sh

para1=  

if [ ! -n "$para1" ]; then  

echo "is null"

else

echo "not null"

fi    

2. 直接通過變數判斷

如下所示:得到的結果為: is null

c**  

#!/bin/sh

para1=  

if [ ! $para1 ]; then  

echo "is null"

else

echo "not null"

fi    

3. 使用test判斷

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

c**  

#!/bin/sh

dmin=  

if test -z "$dmin"

then  

echo "dmin is not set!"

else

echo "dmin is set !"

fi   

4. 使用""判斷

c**  

#!/bin/sh 

dmin=  

if [ "$dmin" = "" ]  

then  

echo "dmin is not set!"

else

echo "dmin is set !"

fi   

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

在shell中如何判斷乙個變數是否為空 判斷乙個指令碼中的變數是否為空,我寫了乙個這樣的shell指令碼 bin sh filename test.sh para1 if n para1 then echo is null else echo not null fi 然後把該指令碼 test.sh通...

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

在shell中如何判斷乙個變數是否為空 判斷乙個指令碼中的變數是否為空,我寫了乙個這樣的shell指令碼 bin sh filename test.sh para1 if n para1 then echo is null else echo not null fi然後把該指令碼 test.sh通過...

shell中if判斷乙個變數為空

1.最直接簡單的判斷 a echo a is null 不用那些if語句了,直接縮短 量。2.變數通過 引號引起來 如下所示 可以得到結果為 is null.bin sh a if n a then echo is null else echo not null fi3.直接通過變數判斷 如下所示 ...