echo
začalo v aplikaci Multics. Poté, co byl Doug McIlroy naprogramován v jazyce C jako „prstové cvičení“ a osvědčil se, stal se součástí Unixu verze 2. echo -n
ve verzi 7 nahradil prompt
, (který se choval jako echo
, ale aniž by ukončil svůj výstup s oddělovačem řádků).
V systémech PWB / UNIX a novějších Unix System III echo
začal rozšiřovat C escape sekvence, například \n
s výrazným rozdílem, že osmičkové únikové sekvence byly vyjádřeny jako \0ooo
místo \ooo
v jazyce C.
Osmé vydání Unixu echo
provedlo únikovou expanzi pouze při předání možnosti -e
a toto chování bylo zkopírováno několika dalšími implementacemi, například integrovaný echo
příkaz Bash nebo zsh a GNU echo
.
V systému MS-DOS je příkaz k dispozici ve verzích 2 a novějších.
V dnešní době existuje několik nekompatibilních implementací echo
v různých operačních systémech (často několik ve stejném systému). systém), některé ve výchozím nastavení rozšiřují únikové sekvence, některé ne, některé přijímají možnosti (jejichž seznam se liší podle implementace), některé ne.
Specifikace POSIX echo
ponechá chování nespecifikované, pokud je první argument -n
nebo jakýkoli argument obsahuje znaky zpětného lomítka, zatímco specifikace Unix (volba XSI v POSIX) vyžaduje rozšíření (některých) sekvencí a neumožňuje zpracování žádné možnosti. V praxi mnoho echo
implementací není ve výchozím prostředí kompatibilní.
Kvůli těmto odchylkám v chování echo
je považován za nepřenosný příkaz v systémech podobných Unixu a místo toho je upřednostňován příkaz printf
(je-li k dispozici zavedený Unixem devátého vydání).