Há uma sintaxe especial para isso:
for i do
echo "$i"
done
Mais geralmente, a lista de parâmetros do script ou função atual está disponível através da variável especial $@
.
for i in "$@"; do
echo "$i"
done
Observe que você precisa das aspas duplas em torno de $@
, caso contrário, os parâmetros passam por expansão de curinga e divisão de campo. "$@"
é mágico: apesar das aspas duplas, ele se expande em tantos campos quanto parâmetros.
print_arguments () {
for i in "$@"; do echo "$i"; done
}
print_arguments 'hello world' '*' 'special !\characters' # prints 3 lines
print_arguments '' # prints one empty line
print_arguments # prints nothing