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

2021-08-27 15:45:22 字數 1151 閱讀 3103

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

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

#!/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.

#!/bin/sh

para1=

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

echo "is null"

else

echo "not null"

fi

2. 直接通過變數判斷

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

#!/bin/sh

para1=

if [ ! $para1 ]; then

echo "is null"

else

echo "not null"

fi

3. 使用test判斷

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

#!/bin/sh

dmin=

if test -z "$dmin"

then

echo "dmin is not set!"

else

echo "dmin is set !"

fi

4. 使用""判斷

#!/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指令碼 c bin sh filename test.sh para1 if n para1 then echo is null else echo not null fi 然後把該指令碼 test.s...

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.直接通過變數判斷 如下所示 ...