HomeSoftware EngineeringMethods to Decide if a Bash Variable is Empty

Methods to Decide if a Bash Variable is Empty


If it’s worthwhile to verify if a bash variable is empty, or unset, then you should use the next code:

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

The above code will verify if a variable referred to as VAR is about, or empty.

What does this imply?

Unset signifies that the variable has not been set.

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

What’s the inverse of -z?

The inverse of -z is -n.

if [ -n "$VAR" ];

A brief resolution to get the variable worth

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

Check if a variable is particularly unset

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

Check the assorted potentialities

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 about to the empty string"
fi
if [ -n "${VAR}" ]; then
    echo "VAR is about to a non-empty string"
fi
if [ -n "${VAR+set}" ]; then
    echo "VAR is about, 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

Most Popular

Recent Comments