Shell 脚本:如何检查变量是否为空
Shell Script : How to check if variable is null or no
我想检查变量是否为空或否。
我的代码是:
list_Data="2018-01-15 10:00:00.000|zQfrkkiabiPZ||04|
2018-01-15 10:00:00.000|zQgKLANvbRWg||04|
2018-01-15 10:00:00.000|zQgTEbJjWGjf||01|
2018-01-15 10:00:00.000|zQgwF1YJLnAT||01|"
echo "list_Data"
if [[ -z "list_Data" ]]
then
echo "not Empty"
else
echo "empty"
fi
输出是:
2018-01-15 10:00:00.000|zQfrkkiabiPZ||04|
2018-01-15 10:00:00.000|zQgKLANvbRWg||04|
2018-01-15 10:00:00.000|zQgTEbJjWGjf||01|
2018-01-15 10:00:00.000|zQgwF1YJLnAT||01|
empty
变量包含值但我总是空消息的问题请帮助。
if [[ -z "$list_Data" ]]
then
echo "Empty"
else
echo "Not empty"
fi
像这样尝试。 (添加了 $
并切换了大小写。)
尝试以下操作,您应该按如下方式从 -z
更改为 -n
,并将 $
也添加到您的变量中。
if [[ -n "$list_Data" ]]
then
echo "not Empty"
else
echo "empty"
fi
解释:来自man test
页面如下(它检查变量是否有任何值。如果它有任何值则条件为真,否则为假。)
-n STRING
the length of STRING is nonzero
您可以在 Bash shell 中使用以下任一方法来判断变量是否具有 NULL 值或不具有
my_var="DragonBallz"
if [ -z "$my_var" ]
then
echo "$my_var is NULL"
else
echo "$my_var is NOT NULL"
fi
(或)
my_var=""
if test -z "$my_var"
then
echo "$my_var is NULL"
else
echo "$my_var is NOT NULL"
fi
(或)
[ -z "$my_var" ] && echo "NULL"
[ -z "$my_var" ] && echo "NULL" || echo "Not NULL"
(或)
[[ -z "$my_var" ]] && echo "NULL"
[[ -z "$my_var" ]] && echo "NULL" || echo "Not NULL"
(或)
var=""
if [ ! -n "$var" ]
then
echo "[=14=] - Error $var not set or NULL"
else
echo "$var set and now starting [=14=] shell script..."
fi
我想检查变量是否为空或否。
我的代码是:
list_Data="2018-01-15 10:00:00.000|zQfrkkiabiPZ||04|
2018-01-15 10:00:00.000|zQgKLANvbRWg||04|
2018-01-15 10:00:00.000|zQgTEbJjWGjf||01|
2018-01-15 10:00:00.000|zQgwF1YJLnAT||01|"
echo "list_Data"
if [[ -z "list_Data" ]]
then
echo "not Empty"
else
echo "empty"
fi
输出是:
2018-01-15 10:00:00.000|zQfrkkiabiPZ||04|
2018-01-15 10:00:00.000|zQgKLANvbRWg||04|
2018-01-15 10:00:00.000|zQgTEbJjWGjf||01|
2018-01-15 10:00:00.000|zQgwF1YJLnAT||01|
empty
变量包含值但我总是空消息的问题请帮助。
if [[ -z "$list_Data" ]]
then
echo "Empty"
else
echo "Not empty"
fi
像这样尝试。 (添加了 $
并切换了大小写。)
尝试以下操作,您应该按如下方式从 -z
更改为 -n
,并将 $
也添加到您的变量中。
if [[ -n "$list_Data" ]]
then
echo "not Empty"
else
echo "empty"
fi
解释:来自man test
页面如下(它检查变量是否有任何值。如果它有任何值则条件为真,否则为假。)
-n STRING the length of STRING is nonzero
您可以在 Bash shell 中使用以下任一方法来判断变量是否具有 NULL 值或不具有
my_var="DragonBallz"
if [ -z "$my_var" ]
then
echo "$my_var is NULL"
else
echo "$my_var is NOT NULL"
fi
(或)
my_var=""
if test -z "$my_var"
then
echo "$my_var is NULL"
else
echo "$my_var is NOT NULL"
fi
(或)
[ -z "$my_var" ] && echo "NULL"
[ -z "$my_var" ] && echo "NULL" || echo "Not NULL"
(或)
[[ -z "$my_var" ]] && echo "NULL"
[[ -z "$my_var" ]] && echo "NULL" || echo "Not NULL"
(或)
var=""
if [ ! -n "$var" ]
then
echo "[=14=] - Error $var not set or NULL"
else
echo "$var set and now starting [=14=] shell script..."
fi