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.

Top comments (0)