echo (comando)

echo comenzó dentro de Multics. Después de que fue programado en C por Doug McIlroy como un «ejercicio de dedos» y demostró ser útil, se convirtió en parte de la Versión 2 de Unix. echo -n en la Versión 7 reemplazó a prompt, (que se comportaba como echo pero sin terminar su salida con un delimitador de línea).

En PWB / UNIX y posterior Unix System III, echo comenzó a expandir secuencias de escape de C como \n con la notable diferencia de que las secuencias de escape octales se expresaron como \0ooo en lugar de \ooo en C.

Octava edición Unix echo solo hizo la expansión de escape cuando se le pasó una opción -e, y ese comportamiento fue copiado por algunas otras implementaciones como el comando interno echo de Bash o zsh y GNU echo.

En MS-DOS, el comando está disponible en las versiones 2 y posteriores.

Actualmente, existen varias implementaciones incompatibles de echo en diferentes sistemas operativos (a menudo varias en el mismo system), algunos de ellos expandiendo las secuencias de escape de forma predeterminada, algunos de ellos no, algunos de ellos aceptan opciones (cuya lista varía con las implementaciones), algunos de ellos no.

La especificación POSIX de echo deja el comportamiento sin especificar si el primer argumento es -n o cualquier argumento contiene caracteres de barra invertida mientras que la especificación Unix (opción XSI en POSIX) exige la expansión de (algunas) secuencias y no permite ningún procesamiento de opciones. En la práctica, muchas echo implementaciones no cumplen con el entorno predeterminado.

Debido a estas variaciones en el comportamiento, echo se considera un comando no portátil en sistemas similares a Unix y en su lugar se prefiere el comando printf (donde esté disponible, introducido por la novena edición de Unix).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *