Thursday, 19 May 2016

bash - How can I declare and use Boolean variables in a shell script?



I tried to declare a Boolean variable in a shell script using the following syntax:




variable=$false

variable=$true


Is this correct? Also, if I wanted to update that variable would I use the same syntax? Finally, is the following syntax for using Boolean variables as expressions correct?



if [ $variable ]

if [ !$variable ]


Answer



Revised Answer (Feb 12, 2014)



the_world_is_flat=true
# ...do something interesting...
if [ "$the_world_is_flat" = true ] ; then
echo 'Be careful not to fall off!'
fi






Original Answer



Caveats: https://stackoverflow.com/a/21210966/89391



the_world_is_flat=true
# ...do something interesting...
if $the_world_is_flat ; then

echo 'Be careful not to fall off!'
fi


From: Using boolean variables in Bash



The reason the original answer is included here is because the comments before the revision on Feb 12, 2014 pertain only to the original answer, and many of the comments are wrong when associated with the revised answer. For example, Dennis Williamson's comment about bash builtin true on Jun 2, 2010 only applies to the original answer, not the revised.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...