Thursday, March 16, 2023
HomeSoftware EngineeringThe best way to Decide if a Bash Variable is Empty

The best way to Decide if a Bash Variable is Empty


If you must examine if a bash variable is empty, or unset, then you need to use the next code:

if [ -z "${VAR}" ];

The above code will examine if a variable known as VAR is ready, or empty.

What does this imply?

Unset signifies that the variable has not been set.

Empty signifies that the variable is ready with an empty worth of "".

What’s the inverse of -z?

The inverse of -z is -n.

if [ -n "$VAR" ];

A brief answer to get the variable worth

VALUE="${1?"Utilization: $0 worth"}"

Take a look at if a variable is particularly unset

if [[ -z ${VAR+x} ]]

Take a look at the assorted prospects

if [ -z "${VAR}" ]; then
    echo "VAR is unset or set to the empty string"
fi
if [ -z "${VAR+set}" ]; then
    echo "VAR is unset"
fi
if [ -z "${VAR-unset}" ]; then
    echo "VAR is ready to the empty string"
fi
if [ -n "${VAR}" ]; then
    echo "VAR is ready to a non-empty string"
fi
if [ -n "${VAR+set}" ]; then
    echo "VAR is ready, probably to the empty string"
fi
if [ -n "${VAR-unset}" ]; then
    echo "VAR is both unset or set to a non-empty string"
fi

This implies:

                        +-------+-------+-----------+
                VAR is: | unset | empty | non-empty |
+-----------------------+-------+-------+-----------+
| [ -z "${VAR}" ]       | true  | true  | false     |
| [ -z "${VAR+set}" ]   | true  | false | false     |
| [ -z "${VAR-unset}" ] | false | true  | false     |
| [ -n "${VAR}" ]       | false | false | true      |
| [ -n "${VAR+set}" ]   | false | true  | true      |
| [ -n "${VAR-unset}" ] | true  | false | true      |
+-----------------------+-------+-------+-----------+
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments