Comme décrit dans le Section Utilisation de l'application de la Description POSIX de la echo commande le -n
Les options et les séquences d'échappement ne sont pas très portables (en raison d'un support différent dans les diverses branches de l'arbre généalogique d'Unix).
El printf
(qui, comme echo est également intégrée à la plupart des shells et disponible en tant que commande externe) est normalisée de manière plus fiable (bien que la syntaxe ne soit pas la même ; par exemple, vous devez faire attention à la commande %
dans le premier argument, et les arguments multiples ne sont pas automatiquement joints par un espace) :
printf 'Some text \e[0;32m in color \e[0m no more color\n'
printf '%s \e[0;32m%s\e[0m %s\n' 'Some text' 'in color' 'no more color'
1 votes
Étrangement, man echo ne mentionne pas le drapeau -e, même si celui-ci fonctionne. Au moins pour \n
1 votes
La gestion des echo décrit le
/bin/echo
commande externe, et non la echo qui est intégré dans le shell que vous utilisez (par exemple, celui qui est nommé dans le fichier d'aide de l'utilisateur).#!
en haut de votre script). Vous devez consulter la page de manuel du shell que vous utilisez (probablement bash ) pour voir quelles options son echo supports.