Reputation:
I want to check if variable is null or no.
My code is :
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
The Output is :
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
The problem that the varible contain values but i have always empty message please help.
Upvotes: 39
Views: 110987
Reputation: 1986
I wasn't expecting this solution, when all above solutions failed for me, this one worked for me
if [[ "$is_always_execute" == null ]];
then
is_always_execute=false;
fi
Upvotes: 11
Reputation: 305
You can use any of the below in Bash shell find out if a variable has NULL value OR not
my_var="DragonBallz"
if [ -z "$my_var" ]
then
echo "\$my_var is NULL"
else
echo "\$my_var is NOT NULL"
fi
(or)
my_var=""
if test -z "$my_var"
then
echo "\$my_var is NULL"
else
echo "\$my_var is NOT NULL"
fi
(or)
[ -z "$my_var" ] && echo "NULL"
[ -z "$my_var" ] && echo "NULL" || echo "Not NULL"
(or)
[[ -z "$my_var" ]] && echo "NULL"
[[ -z "$my_var" ]] && echo "NULL" || echo "Not NULL"
(or)
var="$1"
if [ ! -n "$var" ]
then
echo "$0 - Error \$var not set or NULL"
else
echo "\$var set and now starting $0 shell script..."
fi
Upvotes: 10
Reputation: 133760
Try following, you should change from -z
to -n
as follows and add $
to your variable too.
if [[ -n "$list_Data" ]]
then
echo "not Empty"
else
echo "empty"
fi
Explanation: From man test
page as follows(It checks if a variable is having any value or not. If it has any value then condition is TRUE, if not then it is FALSE.)
-n STRING the length of STRING is nonzero
Upvotes: 56
Reputation: 59586
if [[ -z "$list_Data" ]]
then
echo "Empty"
else
echo "Not empty"
fi
Try it like this. (Added $
and switched cases.)
Upvotes: 23