echo (commande)

echo a commencé dans Multics. Après avoir été programmé en C par Doug McIlroy comme un « exercice du doigt » et sest avéré utile, il est devenu une partie de la version 2 dUnix. echo -n dans la version 7 a remplacé prompt, (qui se comportait comme echo mais sans arrêter sa sortie avec un séparateur de ligne).

Sur PWB / UNIX et versions ultérieures Unix System III, echo a commencé à développer les séquences déchappement C telles que \n avec la différence notable que les séquences déchappement octales étaient exprimées comme \0ooo au lieu de \ooo en C.

Huitième édition Unix echo na fait lexpansion déchappement quaprès avoir passé une option -e, et ce comportement a été copié par quelques autres implémentations telles que la commande intégrée echo de Bash ou zsh et GNU echo.

Sous MS-DOS, la commande est disponible dans les versions 2 et supérieures.

Aujourdhui, plusieurs implémentations incompatibles de echo existent sur différents systèmes dexploitation (souvent plusieurs sur le même system), certains dentre eux développant des séquences déchappement par défaut, dautres non, certains acceptant des options (dont la liste varie avec les implémentations), dautres non.

La spécification POSIX de echo laisse le comportement non spécifié si le premier argument est -n ou tout argument contient des caractères anti-slash alors que la spécification Unix (option XSI dans POSIX) impose lexpansion de (certaines) séquences et ne permet aucun traitement doption. En pratique, de nombreuses implémentations de echo ne sont pas conformes dans lenvironnement par défaut.

En raison de ces variations de comportement, echo est considérée comme une commande non portable sur les systèmes de type Unix et la commande printf (si disponible, introduite par Neuvième édition Unix) est préférée à la place.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *