Différence entre 'echo' et 'echo -e' [fermé]


25

Quelle est la difference entre echoet echo -e? Quels guillemets ("" ou '') doivent être utilisés avec la commande echo? c'est-à-dire: echo "Print statement"ou echo 'Print statement'? De plus, quelles sont les options disponibles qui peuvent être utilisées avec echo?


3
Quelle coquille? echo -en'est pas défini par POSIX et varie probablement selon le shell.
jordanm

Est-ce que cela répond à votre question? unix.stackexchange.com/questions/65803/…
dhag

2
utiliser man echopour lire le manuel de echo.
nounou

echo n'exécute pas ses arguments sous forme de commandes, il les fait juste échos
Anthon

Réponses:


33

echoaffiche à lui seul une ligne de texte. Il prendra n'importe quoi entre les "..."deux guillemets suivants , littéralement, et l'imprimera tel quel. Cependant avec echo -evous faites echopour permettre d'interpréter les échappements de barre oblique inverse. Donc, avec cela à l'esprit, voici quelques exemples

INPUT: echo "abc\n def \nghi" 
OUTPUT:abc\n def \nghi

INPUT: echo -e "abc\n def \nghi"
OUTPUT:abc
 def 
ghi

Remarque: \nest une nouvelle ligne, c'est-à-dire un retour chariot. Si vous voulez savoir quelles autres séquences sont reconnues par echo -etype dans man echovotre terminal.


2
echoest intégré dans la plupart des coquilles. aimera plutôt man echodocumenter la echocommande autonome.
Stéphane Chazelas

Vous décrivez le comportement de GNU echoou du shell GNU echolorsqu'il n'est pas en mode de conformité Unix. Ailleurs, le comportement sera généralement différent.
Stéphane Chazelas

3

Dans la plupart des SHELL, je echone peux pas prendre la séquence d'échappement ( \n \t). Où le echo -epeut

echo -e " This is \n an \t example"

Les guillemets simples et doubles servent principalement à gérer les problèmes d'interpolation. Vous pouvez trouver plus de détails ici, pourquoi l'écho ignore-t-il mes caractères de citation?


C'est l'inverse. Dans la plupart des shells (ksh88, ksh93, pdksh, mksh, Bourne, zsh, dash, bash et sh de tous les systèmes compatibles Unix, certains d'entre eux comme ksh93 ou bash uniquement dans certains environnements) echoétendent les séquences d'échappement. Une echoimplémentation qui accepte -en'est pas compatible POSIX.
Stéphane Chazelas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.