echo
a Multics-on belül kezdődött. Miután Doug McIlroy C-ben programozta “ujjgyakorlatként” és hasznosnak bizonyult, a 2. Unix verzió része lett. A echo -n
a 7. verzióban felváltotta a (z) prompt
szót (amely úgy viselkedett, mint echo
, de a kimenet leállítása nélkül vonalhatárolóval).
A PWB / UNIX és későbbi Unix System III rendszeren a echo
elkezdett kibővíteni C menekülési szekvenciákat, például \n
azzal a figyelemre méltó különbséggel, hogy az oktális menekülési szekvenciákat \0ooo
-ként fejeztük ki a C-ben a \ooo
helyett.
Unix nyolcadik kiadás echo
csak akkor hajtotta végre a menekülési kiterjesztést, amikor átengedett egy -e
opciót, és ezt a viselkedést néhány más megvalósítás, például a Bash vagy a zsh és a GNU beépített echo
parancsa echo
.
Az MS-DOS rendszeren a parancs elérhető a 2-es és újabb verziókban.
Manapság a echo
számos inkompatibilis megvalósítása létezik különböző operációs rendszereken (gyakran több ugyanazon az operációs rendszeren) rendszer), vannak, akik alapértelmezés szerint kibővítik a menekülési szekvenciákat, vannak, akik nem, mások elfogadják az opciókat (amelyek listája a megvalósítások szerint változik), mások nem.
A echo
nem adja meg a viselkedést, ha az első argumentum -n
, vagy bármelyik argumentum visszahúzott karaktert tartalmaz, míg a Unix specifikáció (XSI opció a POSIX-ban) előírja a bővítést (néhány) szekvenciából, és nem engedélyezi az opciók feldolgozását. A gyakorlatban sok echo
megvalósítás nem felel meg az alapértelmezett környezetben.
A viselkedés ezen eltérései miatt echo
nem hordozható parancsnak tekinthető a Unix-szerű rendszereken, és ehelyett a printf
parancsot részesítik előnyben (ahol elérhető, a Ninth Edition Unix vezeti be).