BASH Programming

How to Check if Two Variables are Empty Strings at Once

In Bash, variables are used to store data that can be used throughout a script as sometimes, it is necessary to check if two variables are empty strings at once. This can be useful for validating user input or ensuring that certain variables are initialized before continuing with a script.

In this article, we will discuss how to check if two variables are empty strings at once in Bash and provide a Bash code with an explanation.

How to Check If Two Variables Are Empty Strings at Once

To check if two variables are empty strings at once, we can use the double brackets [[ ]] and the -z option. The -z option is used to check if a string is empty. The syntax for checking if two variables are empty strings at once is as follows:

if [[ -z $var1 && -z $var2 ]]; then
  # both variables are empty strings
fi

In this code, we use the logical AND operator (&&) to check if both variables are empty strings. The double brackets [[ ]] are used to evaluate the expression as a Boolean value. If the expression is true, then the instruction inside the if statement will be executed so to further understand the syntax let’s break down the code in more detail:

  • The if statement starts with ‘if‘.
  • The expression to evaluate is enclosed in double brackets [[ ]].
  • The -z option checks if the variable is an empty string.
  • The AND operator (&&) combines the two expressions.
  • The variables $var1 and $var2 are the variables being checked.
  • If the given expression is valid, then the instruction for that case will be executed and then the if statements end with ‘fi‘.

Here is an example code that checks if two variables are empty strings:

#!/bin/bash

var1=""
var2=""

if [[ -z $var1 && -z $var2 ]]; then
  echo "Both variables are empty strings"
else
  echo "At least one variable is not an empty string"
fi

In this example, we have two variables named $var1 and $var2 that are initialized as empty strings. We then use the if statement with the expression that checks if both variables are empty strings using the -z option. If the expression evaluates to be true, then the message “Both variables are empty strings” will be printed whereas if the expression evaluates to be false, then the message “At least one variable is not an empty string” will be printed.

Conclusion

In this article, we have discussed how to check if two variables are empty strings at once in Bash using the double brackets [[ ]] and the -z option. We have provided a Bash code example with an explanation. This technique can be useful for validating user input or ensuring that certain variables are initialized before continuing with a script.

About the author

Aaliyan Javaid

I am an electrical engineer and a technical blogger. My keen interest in embedded systems has led me to write and share my knowledge about them.