Hamdy Abou El Anein
Posted on March 6, 2022
In this article, I show you how to mastering the Bash arguments with getopts to have a software who run with professional arguments like
mysoft.bsh -f [arg1] -g [arg2]I also show you how to add a default value if the argument is not given.
Here's an example of code :
f=10 g=5 while getopts ":f:g:" option; do case "${option}" in f) f=${OPTARG} ((f == 15 || f == 75)) || usage ;; g) g=${OPTARG} ;; *) usage ;; esac done shift $((OPTIND-1)) if [ -z "${v}" ] || [ -z "${g}" ]; then echo "info" fi echo "f = ${f}" echo "g = ${g}"
Now we can look at the code more closely :
Here we declare a default value to the variable -v and -g
f=10 g=5
Here we use getopts with the arguments -f -g. If the user write, software.bsh -f value1 and/or -g value 2.
while getopts ":f:g:" option; do case "${option}" in f) f=${OPTARG} ((f == 15 || f == 75)) || usage ;; g) g=${OPTARG} ;; *) usage ;; esac done
That makes the arguments in Bash more professional.
💖 💪 🙅 🚩
Hamdy Abou El Anein
Posted on March 6, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.