От man echo
:
-e
включить интерпретацию обратной косой черты
Ваше эхо может быть встроенным в оболочку (попробуйте type echo
). Если так, используйте help echo
вместо man echo
. Но это должно сказать то же самое о -e
варианте.
Без этой опции \n
строка печатается буквально, а не как перевод строки. Уведомление не tr
требует специальной опции, чтобы работать так, как вы ожидаете.
Исправлена команда:
echo -ne "s\n" | tr "\n" "a"
Товарищ пользователь Гордон Дэвиссон указал на некоторые вещи. Они кажутся достаточно важными, чтобы включить их в мой ответ для дальнейшего использования. С этого момента вся заслуга Гордона .
Различные версии
echo
очень противоречивы в отношении побегов и опций. Некоторые будут интерпретировать escape-последовательности без-e
. Некоторые выводят «-e» как часть своего вывода. Некоторые делают ... другие вещи. Для таких вещей используйтеprintf
вместо этого (как вprintf "s\n"
). См. Спецификацию POSIXecho
, особенно в разделе «Использование приложения».