J'essaie d'utiliser printf pour formater une jolie sortie dans un script bash
par exemple:
-----------------------
| This is some output |
-----------------------
Mais je suis tombé sur un comportement que je ne comprends pas.
$ printf "--" me donne l'erreur printf: usage: printf [-v var] format [arguments]
et
$ printf "-stuff"aboutit à-bash: printf: -s: invalid option
Donc, apparemment, printf pense que j'essaie de passer des arguments alors que je ne le suis pas.
En attendant, complètement par accident, j'ai trouvé cette solution de contournement:
$ printf -- "--- this works now ----\n"me donne--- this works now ----
Quelqu'un peut-il expliquer ce comportement?
echoqui échoueraient echo ------------? La plupart ne prennent en charge que -n(pas de nouvelle ligne), -e(interpréter les caractères avec une barre oblique inversée) et possible -E(ne PAS les interpréter) et ne pas se tromper lorsque d'autres arguments de type option sont rencontrés, n'est-ce pas? (EDIT: GNU /bin/echosupporte également --helpet --version.)