Estou tentando entender a sintaxe do loop for nas regras gramaticais do shell POSIX :
for_clause : For name do_group
| For name sequential_sep do_group
| For name linebreak in sequential_sep do_group
| For name linebreak in wordlist sequential_sep do_group
O último (praticamente o padrão) e os dois primeiros fazem sentido, citando posix:
Omitindo:
in word...
será equivalente a:in "$@"
então os dois primeiros estão apenas repetindo os argumentos do script de shell.
Eu simplesmente não entendo como um loop for que consiste em for name in; do echo $name; done
faz sentido. Achei que ainda estava apenas repetindo os argumentos do script de shell, mas criar um script pequeno não parece ser o caso. O loop for parece ser ignorado. Então, qual é o propósito dessa terceira variação?