Ответ 1
Это действительно специфично для некоторых версий echo
(я уверен, что \c
пришел из SysV, а версия -n
была BSD-ism).
Это просто означает, что не выводить конечную новую строку.
Каково имя и функции escape-символа \c
в Bash? Каково его числовое значение? Я видел, что \cx
является управляющим символом, но как насчет простой \c
? Кажется, что:
echo -e "Hello World\c"
и
echo -en "Hello World"
эквивалентны. Однако Python не использует его как escape-символ, и он отсутствует во всех списках escape-символов, которые я нашел. Является ли это Bash -специфическим поведением?
Это действительно специфично для некоторых версий echo
(я уверен, что \c
пришел из SysV, а версия -n
была BSD-ism).
Это просто означает, что не выводить конечную новую строку.
Смотрите эхо-страницу или раздел эха в Bash Встраивает раздел руководства Bash:
эхо интерпретирует следующие escape-последовательности:
...
\ С
подавлять дополнительный выход
Это символ управления "Конец текста"; он сообщает Shell, что конец текста был достигнут.
Не совсем уверен, что это актуально, но я могу ошибаться.
здесь документ:
http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters
и
Можете ли вы обновить свой вопрос немного более подробно о том, как используется \c?
Вы можете использовать \c
для удаления управляющих символов, которые вы можете, например, записать в файл или трубку в качестве ввода в другую команду.
Это запишет в терминал текст "некоторая команда", за которым следует двоичный ctrl-d (ascii 0x4):
echo some control string $'\cd'
См. полный список escape-символов из справочной страницы bash: http://linux.die.net/man/1/bash