bash
possui um comando "interno" chamado "eco":
$ type echo
echo is a shell builtin
Além disso, existe um comando "echo" que é um executável adequado (ou seja, o shell bifurca e executa /bin/echo
, em vez de interpretá echo
-lo e executá-lo):
$ ls -l /bin/echo
-rwxr-xr-x 1 root root 22856 Jul 21 2011 /bin/echo
O comportamento de qualquer um echo
WRT de um para \c
e -n
varia. Sua melhor aposta é usar printf
, que está disponível em quatro diferentes sabores * NIX que eu observei:
$ printf "a line without trailing linefeed"
$ printf "a line with trailing linefeed\n"
bash
no modo bourne shell, ele funciona bem aqui. Além disso, é um pouco improvável que você esteja realmente usando um shell bourne como seu shell interativo, não?