Ca n'a pas grand chose avec le while en fait, c'est simplement que le fait que tu utilises un pipe.
Exemple:
$ echo -e "a\nb" | while read a ; do read b; echo "A $a B $b"; done
A a B b
- > les deux read héritent du pipe comme stdin, ils lisent effectivement depuis le même "fichier", chacun une ligne à son tour...
Toute commande à droite du | (ou le sucre bash <<<"1" qu'il vaut mieux éviter amha) à son stdin remplacé par l'output du pipe.
Tu aurais le même comportement en utilisant echo "" | ansible....
Car il y a probablement une logique dans ansible qui teste si le stdin est un terminal ou un pas, et en fonction change l'output (couleurs, etc.). Aussi, dans le cas ou stdin est un terminal, ansible va probablement consulter la valeur de $TERM et/ou $COLUMNS. On va dire c'est une feature, notabug... Dans tous les cas, tu peux essayer de lancer ansible pour avoir quelques chose de plus homogène: env COLUMNS=1000 TERM=xterm ANSIBLE_COLORS=FALSE ansible-lint ... < /dev/null
# TERM, pipe, stdin
Posté par benja . En réponse au message [Résolu] Ai-je détecté un bug ou bien suis-je mauvais avec GNU Bash et ansible-lint ?. Évalué à 7.
Ca n'a pas grand chose avec le while en fait, c'est simplement que le fait que tu utilises un pipe.
Exemple:
$ echo -e "a\nb" | while read a ; do read b; echo "A $a B $b"; done
A a B b
- > les deux read héritent du pipe comme stdin, ils lisent effectivement depuis le même "fichier", chacun une ligne à son tour...
Toute commande à droite du | (ou le sucre bash <<<"1" qu'il vaut mieux éviter amha) à son stdin remplacé par l'output du pipe.
Tu aurais le même comportement en utilisant
echo "" | ansible....Car il y a probablement une logique dans ansible qui teste si le stdin est un terminal ou un pas, et en fonction change l'output (couleurs, etc.). Aussi, dans le cas ou stdin est un terminal, ansible va probablement consulter la valeur de $TERM et/ou $COLUMNS. On va dire c'est une feature, notabug... Dans tous les cas, tu peux essayer de lancer ansible pour avoir quelques chose de plus homogène:
env COLUMNS=1000 TERM=xterm ANSIBLE_COLORS=FALSE ansible-lint ... < /dev/null