Check existence of input argument in a Bash shell script
bash, shell
Solution
It is:
if [ $# -eq 0 ]
then
echo "No arguments supplied"
fi
The `$#` variable will tell you the number of input arguments the script was passed.
Or you can check if an argument is an empty string or not like:
if [ -z "$1" ]
then
echo "No argument supplied"
fi
The `-z` switch will test if the expansion of `"$1"` is a null string or not. If it is a null string then the body is executed.
Problem
I need to check the existence of an input argument. I have the following script ``` if [ "$1" -gt "-1" ] then echo hi fi ``` I get ``` [: : integer expression expected ``` How do I check the input argument1 first to see if it exists?