bash
tiene un comando "incorporado" llamado "echo":
$ type echo
echo is a shell builtin
Además, hay un comando "echo" que es un ejecutable adecuado (es decir, las bifurcaciones y los ejecutivos de shell /bin/echo
, en lugar de interpretarlo echo
y ejecutarlo):
$ ls -l /bin/echo
-rwxr-xr-x 1 root root 22856 Jul 21 2011 /bin/echo
El comportamiento de cualquiera echo
de los WRT \c
y -n
varía. Su mejor opción es usar printf
, que está disponible en cuatro sabores * NIX diferentes que miré:
$ printf "a line without trailing linefeed"
$ printf "a line with trailing linefeed\n"
bash
en modo shell bourne, funciona bien aquí. Además, es poco probable que realmente estés usando un shell bourne como tu shell interactivo, ¿no?