Bash: loop over arguments passed to script
July 6, 2022 ‐ 1 min read
To loop over the arguments that are passed to the bash script we can make use of the special parameters $@
. This special parameter expands to the passed positional arguments starting from position one. Thus excluding the script name at position zero.
for argument in "$@"; do
echo "$argument"
done
The special parameter $*
could be an alternative to $@
. However, $@
handles arguments containing spaces correctly.
When no arguments are passed $@
expands to nothing, leaving you with an empty string.