2014-03-18 3 views
0

Я использовал this question, чтобы удалить строку строки из строки, но я столкнулся с проблемой на одном хосте.`echo -n` ничего не печатает

По какой-то причине /bin/echo -n foo ничего не печатает на этом хосте. Я не знаю, почему этот хозяин ведет себя странно. /bin/echo foo работает отлично. Это не терминал, так как echo -n foo > /tmp/bar также ничего не показывает.

/bin/echo --help говорит, что это должны работы:

Usage: /bin/echo [OPTION]... [STRING]... 
Echo the STRING(s) to standard output. 

    -n    do not output the trailing newline 
    -e    enable interpretation of backslash escapes 
    -E    disable interpretation of backslash escapes (default) 
     --help  display this help and exit 
     --version output version information and exit 

% /bin/echo --version 
echo (GNU coreutils) 5.97 

Что, возможно, причиной этого не работать? Может ли быть какая-то странная буферизация в этой bash-оболочке?

+0

Вы также можете использовать 'printf'. – devnull

+0

Да. И я начал работать с 'tr -d '\ n''. Но мне интересно, что случилось с 'echo' на этом хосте. – cdunn2001

+0

Кто знает? Кстати, «эхо» тоже встроено в bash. Не уверен, какой из них вы используете. – devnull

ответ

1

Основываясь на информации в комментариях, кажется, что /bin/echo -n foo производит ожидаемый вывод, но он перезаписывается в следующем приглашении оболочки. (Скорее всего, это ваша оболочка, а не ваши настройки терминала.)

Вы можете продемонстрировать это, запустив

/bin/echo -n foo | wc 

, который должен производить этот вывод:

0  1  3 

Вы также можете попробовать это:

/bin/echo -n foo ; sleep 5 

Это задержит ваше следующее приглашение оболочки в течение 5 секунд, чтобы вы могли видеть ou прежде чем он будет перезаписан.

(Что оболочка вы используете? Что значение $PS1?)

+0

'PS1 = '[% n @% m]% ~% #'' – cdunn2001

+0

@ cdunn2001: Опять же, какую оболочку вы используете? (Вы упоминаете bash в своем вопросе, но это похоже на синтаксис zsh.) –

+0

Возможно zsh. Но у меня нет гомеопа на этом хозяине. – cdunn2001

Смежные вопросы