Je regardais récemment un code qui m'a dérouté parce qu'il fonctionne et je ne m'y attendais pas. Le code se réduit à cet exemple
#!/bin/bash
for var;
do
echo "$var"
done
Lorsqu'il est exécuté avec des arguments de ligne de commande, il les imprime
$ ./test a b c
a
b
c
C'est cela, qui est (pour moi) inattendu. Pourquoi cela ne génère-t-il pas une erreur car il var
n'est pas défini? Cette pratique est-elle considérée comme une «bonne pratique»?