Question sur une particularité de bash

Bonjour,

Désolé pour l’aspect pas très constructif de ce post mais je me pose une question au sujet de bash et de la commande echo.

Pourquoi en bash le résultat de echo “\n\n\n BlabliBlaBlou” donne

$ echo "\n\n\n BlabliBlaBlou" \n\n\n BlabliBlaBlou

Alors que dans les autres shell (testé avec sh, ksh, zsh, csh) on a bien

[code]% echo “\n\n\n BlabliBlaBlou”

BlabliBlaBlou[/code]

:question: :question:

Par contre avec printf ça marche bien…

Il faut utiliser echo -e : pwet.fr/man/linux/commandes/echo

Merci

Si je comprends bien pour avoir l’effet souhaité de cette commande on doit en principe utiliser cette option -e. Bash l’oblige, mais pas les autres shell cité plus haut donc

En fait, il s’agit du comportement décrit par la Single Unix Specification pour le shell :

(plus d’infos ici : http://www.unix.org/single_unix_specification/

Donc le “\n” est envoyé tel quel à echo par bash, ce qui ne semble pas être le cas des autres shell. J’ai testé rapidement avec tcsh et il a le même résultat que bash sur une FreeBSD, mais sur Debian, on obtient bien le résultat que tu as noté. Donc, j’en conclus que nous n’avons pas la même verion que tcsh (ce que je viens d’apprendre).

Mon chère zsh fais comme le second il remplace les \n (version 4.2.3)