Tu veux dire des commandes du shell comme ls, xargs ou autre qui pourraient avoir leur comportement modifié à cause de la modification de IFS ? Ça m’étonnerait (ou plutôt j’espère que non ^^)
Notre exemple initial montre que l’une des passes d’interprétation de la ligne de commandes n’est pas impactée... Le shell va utiliser les blancs horizontaux pour faire sa liste de tokens.
Une autre des passes (je présume que ça se fait en plusieurs fois mais ce n’est pas obligatoire, juste qu’il y a les divers aspects à distinguer) va aussi faire une liste de tokens mais en faisant intervenir IFS : comparé au cas précédent, la liste de caractères de séparation n’est plus en dur. Je crois bien (à vérifier) que c’est toujours le cas pour les « expansions » (donc ça va impacter la compréhension de ton $@ par exemple, la liste passée au for...in, etc.)
Exemples marrants (ou pas) qui, j’espère, montrent bien ces deux aspects
# celui-ci est siouxecho$(IFS=:;echo$PATH)c=0for i in $(IFS=:;echo$PATH);doc=$((c+1))echo"$c: $i"donevar="tic,tac,toe"# pour bashIFS=","read -r -a array <<<"$var"# pour kshIFS=","read -r -A array <<<"$var"
"It is seldom that liberty of any kind is lost all at once." ― David Hume
[^] # Re: Quoting
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal Args parser pour shell. Évalué à 3. Dernière modification le 22 février 2024 à 00:10.
Notre exemple initial montre que l’une des passes d’interprétation de la ligne de commandes n’est pas impactée... Le shell va utiliser les blancs horizontaux pour faire sa liste de tokens.
Une autre des passes (je présume que ça se fait en plusieurs fois mais ce n’est pas obligatoire, juste qu’il y a les divers aspects à distinguer) va aussi faire une liste de tokens mais en faisant intervenir
IFS: comparé au cas précédent, la liste de caractères de séparation n’est plus en dur. Je crois bien (à vérifier) que c’est toujours le cas pour les « expansions » (donc ça va impacter la compréhension de ton$@par exemple, la liste passée aufor...in, etc.)Exemples marrants (ou pas) qui, j’espère, montrent bien ces deux aspects
"It is seldom that liberty of any kind is lost all at once." ― David Hume