echo (příkaz)

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í).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *