Recentemente stavo guardando un codice che mi ha confuso perché funziona e non me l'aspettavo. Il codice si riduce a questo esempio
#!/bin/bash
for var;
do
echo "$var"
done
Se eseguito con argomenti da riga di comando, li stampa
$ ./test a b c
a
b
c
È questo, per me (inaspettato) inaspettato. Perché questo non provoca un errore perché var
non è definito? L'uso di questo è considerato una "buona pratica"?