I recently got asked how to check if a variable is empty in a Bash script.
Here is an example script, where we expect the user to enter a value when asked to do so:
#!/bin/bash
echo "Enter your name: "
read name
echo "Hello ${name}"
If you run the script, you will be able to press enter, and the output would be just Hello
.
Here’s how to check if a variable is empty in a Bash script!
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
The quick answer on how to check if a variable is empty in Bash is to use the following expression:
If we take the example from above, you can then use this in an if statement as follows:
You can also combine this in a while statement and ask the user for their input until they actually provide a value:
That way, your user will be asked to enter their name until they actually input some value.
I hope that this helps! Regards, Bobby