• [^] # Re: Quoting

    Posté par . En réponse au journal Args parser pour shell. Évalué à 3.

    toute une série d’instructions/lignes entre le changement de IFS et son rétablissement.

    Oui en effet. Je ne vois pas de cas d’usage mais ça ne veut clairement pas dire qu’il n’y en a pas.

    le shell utilise IFS quasiment partout

    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 ^^). Je pense que tu parles du reste du code du script, voire de script externes appelés par celui-ci ?

    Et heureusement la modification ne se propage bien-sûr pas au « sur-shell » qui a lancé le script.

    $ printf "%q\n" "$IFS"; echo -e 'IFS=4\nprintf "IFS vaut : %q\\n" "$IFS"; exit 4\n' > script; bash -f script; printf "%q" "$IFS"
    $' \t\n'
    IFS vaut : 4
    $' \t\n'

    (je sais c’est moche, mais c’est représentatif)

    Et c’est un bon exemple de cas « àlakon » où un double échappement se justifie, encore que, c’est juste pour que le fichier "script" généré ait pas la gueule de travers :)