How to check if a variable is set in Bash

You can use the -v operator to check if a variable is set in Bash.

For example:

if [ -v VARIABLE_NAME ]; then
echo “Variable is set”
else
echo “Variable is not set”
fi

When working with Bash scripts, it’s important to check if a variable is set before performing any operations on it. In this tutorial, you will find different ways to check if a variable is set in Bash.

How to check if a variable is set in Bash?

By using any of these methods, you can determine whether a variable is set before performing any operations on it in your Bash script.

  • Method 1: Using the -v option
  • Method 2: Using the -n option
  • Method 3: Using the -z option
  • Method 4: Using the ${variable+isset} notation

Method 1: Using the -v option

One of the easiest ways to check if a variable is set in Bash is to use the -v option. The -v option tests whether a variable is set and returns true if it is. Here’s an example:

#!/bin/bash

if [ -v variable_name ]; then
    echo "The variable is set"
else
    echo "The variable is not set"
fi

In this example, you are checking if the variable variable_name is set. If it is, the script will output “The variable is set”. If it’s not, the script will output “The variable is not set”.

Method 2: Using the -n option

Another way to check if a variable is set in Bash is to use the -n option. The -n option tests whether a variable has a non-zero length and returns true if it does. Here’s an example:

#!/bin/bash

if [ -n "$variable_name" ]; then
    echo "The variable is set"
else
    echo "The variable is not set"
fi

In this example, you are checking if the variable variable_name has a non-zero length. You’ll know if a variable is set by the message outputted by the script – either confirming that the variable is set or notifying that it’s not set.

Method 3: Using the -z option

You can also check if a variable is not set in Bash by using the -z option. The -z option tests whether a variable has a zero length and returns true if it does. Here’s an example:

#!/bin/bash

if [ -z "$variable_name" ]; then
    echo "The variable is not set"
else
    echo "The variable is set"
fi

In this example, you are checking if the variable variable_name has a zero length. The script output will let you know whether a variable is set or not, with specific messages reflecting each case.

Method 4: Using the ${variable+isset} notation

You can also use the ${variable+isset} notation to check if a variable is set in Bash. This notation tests whether a variable is set and returns the string “isset” if it is. Here’s an example:

#!/bin/bash

if [ "${variable_name+isset}" = "isset" ]; then
    echo "The variable is set"
else
    echo "The variable is not set"
fi

In this example, you are checking if the variable variable_name is set using the ${variable+isset} notation. If it is, the script will output “The variable is set”. If it’s not, the script will output “The variable is not set”.

Conclusion

In this tutorial, you have learned four different methods for checking if a variable is set in Bash. By using any of these methods, you can determine whether a variable is set before performing any operations on it in your Bash script.

Recommended Tutorials

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?