bash
имеет «встроенную» команду под названием «эхо»:
$ type echo
echo is a shell builtin
Кроме того, есть команда «echo», которая является надлежащим исполняемым файлом (то есть оболочка разветвляется и исполняется /bin/echo
, в отличие от ее интерпретации echo
и выполнения):
$ ls -l /bin/echo
-rwxr-xr-x 1 root root 22856 Jul 21 2011 /bin/echo
Поведение любого из echo
WRT зависит от \c
и -n
меняется. Ваш лучший выбор - использовать printf
четыре варианта * NIX, которые я рассмотрел:
$ printf "a line without trailing linefeed"
$ printf "a line with trailing linefeed\n"
bash
в режиме оболочки Bourne, здесь все работает нормально. Кроме того, маловероятно, что вы действительно используете оболочку Борна в качестве интерактивной оболочки, не так ли?