echo (parancs)

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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük