Je ne peux pas vous dire pourquoi cela ne prend pas en charge cet argument (vous devrez peut-être demander aux programmeurs à ce sujet). Je sais seulement que sur mon boîtier linux, j'obtiens ceci:
$ /bin/echo --help
Utilisation : /bin/echo [SHORT-OPTION]... [CHAÎNE]...
ou : /bin/echo LONG-OPTION
Écho de la/les CHAÎNE(s) sur la sortie standard.
-n ne pas afficher le saut de ligne final
-e activer l'interprétation des échappements de barre oblique
-E désactiver l'interprétation des échappements de barre oblique (par défaut)
--help afficher cette aide et quitter
--version afficher les informations de version et quitter
Si -e est en vigueur, les séquences suivantes sont reconnues:
\0NNN le caractère dont le code ASCII est NNN (octal)
\\ barre oblique
\a alerte (BEL)
\b retour arrière
\c ne produit pas de sortie supplémentaire
\f saut de page
\n nouvelle ligne
\r retour chariot
\t tabulation horizontale
\v tabulation verticale
REMARQUE : votre shell peut avoir sa propre version de echo, qui remplace généralement
la version décrite ici. Veuillez vous référer à la documentation de votre shell
pour plus de détails sur les options qu'il prend en charge.
Signaler les bugs de echo à bug-coreutils@gnu.org
Page d'accueil de coreutils GNU :
Aide générale sur l'utilisation des logiciels GNU :
Signaler les bugs de traduction de echo à
- cela ne mentionne pas les échappements
\e
- il dit que c'est
/bin/echo
des coreutils GNU. Comme apple modifie de temps en temps la source de leurs composants unix (par exemple, passer de zsh à bash), vérifiez s'il y a eu un changement pour /bin/echo
entre Leopard et Snow Leopard. S'il s'agit de gnu, vous pouvez demander aux gens de gnu.org pourquoi ils ont choisi de ne pas inclure ces séquences.
En ce qui concerne les solutions de contournement (plus intéressant) : Ne pas utiliser /bin/echo
, mais l'echo intégré de bash fonctionne sur les boîtiers linux. S'ils ont changé pour un bash sans echo intégré (ou quelque chose de plus obscur), vous pouvez également essayer cette fonctionnalité peu connue de votre shell (fonctionne au moins dans bash et zsh) :
$ echo $'\e[34m''COULEURS'
Voici la partie correspondante de la page man de bash :
Les mots de la forme $'chaîne' sont traités spécialement. Le mot se développe en chaîne, avec
les caractères échappés par barre oblique remplacés comme spécifié par la norme ANSI
C. Les séquences d'échappement de barre oblique, si présentes, sont décodées comme suit :
\a alerte (cloche)
\b retour arrière
\e un caractère d'échappement
\f saut de page
\n nouvelle ligne
\r retour chariot
\t tabulation horizontale
\v (tabulation vertical
\\ barre oblique
\' apostrophe simple
\nnn le caractère octal dont la valeur est la valeur octale nnn (un à trois
chiffres)
\xHH le caractère octal dont la valeur est la valeur hexadécimale HH (un ou
deux chiffres hexadécimaux)
\cx un caractère de contrôle-x
Le résultat étendu est entre simples quotes, comme si le signe dollar n'avait pas été présent.
Une chaîne doublement citée précédée d'un signe dollar ($) entraînera la traduction de la chaîne
selon le paramétrage local actuel. Si le paramétrage local actuel est C ou POSIX, le signe dollar
est ignoré. Si la chaîne est traduite et remplacée, le remplacement est entre guillemets doubles.