Команда echo на Unix | |
Разработчик (и) | Различные разработчики с открытым исходным кодом и коммерческие разработчики |
---|---|
Операционная система | Multics, Unix, Unix-подобный, V, Plan 9, Inferno, FLEX, TRIPOS, Z80-RIO, OS-9, DOS, MSX-DOS, Panos, FlexOS, SISNE plus, OS / 2, Windows, ReactOS, MPE / iX, KolibriOS, SymbOS |
Платформа | Кросс-платформенность |
Тип | Команда |
В вычислении, echo
- это команда, которая выводит строки, которые передаются как аргументы. Это команда, доступная в различных операционных системах оболочках и обычно используется в сценариях оболочки и пакетных файлах для вывода текста состояния на экран. или компьютерный файл, или как исходная часть конвейера.
Команда доступна в Multics,TSC FLEX, MetaComCo TRIPOS, Zilog Z80-RIO, Microware OS-9, DOS, Acorn Computers Panos, Digital Research FlexOS, IBM OS / 2, Microsoft Windows, ReactOS,HP MPE / iX, KolibriOS, SymbOS, Unix и Unix-подобные операционные системы.
Многие оболочки, включая все Bourne -подобные (например, Bash или zsh ) и Csh -подобные оболочки. а также COMMAND.COM и cmd.exe реализуют echo
как встроенную команду.
Команда также доступна в Оболочка EFI.
echo
началась в Multics. После того, как он был запрограммирован на C Дугом Макилроем в качестве «упражнения для пальцев» и оказался полезным, он стал частью версии 2 Unix. echo -n
в версии 7 заменил prompt
(который вёл себя как echo
, но без завершения вывода разделителем строк). 8>
В PWB / UNIX и более поздних версиях Unix System III, echo
начал расширять управляющие последовательности C, например \ n
с той заметной разницей, что восьмеричные escape-последовательности были выражены как \ 0ooo
вместо \ ooo
в C.
Eighth Edition Unix echo
выполнял escape-расширение только при передаче параметра -e
, и это поведение было скопировано несколькими другими реализациями, такими как встроенная команда echo
из Bash или zsh и GNU echo
.
В MS-DOS команда доступна в версиях 2 и более поздних.
В настоящее время существует несколько несовместимых реализаций of echo
существуют в разных операционных системах (часто несколько в одной системе), некоторые из них расширяют escape-последовательности по умолчанию, некоторые нет, некоторые из них принимают параметры (список которых в зависимости от реализации), некоторые из них - нет.
Спецификация POSIX для echo
оставляет поведение неопределенным, если первый аргумент -n
или любой аргумент содержит символы обратной косой черты, в то время как спецификация Unix (Параметр XSI в POSIX) требует расширения (некоторых) последовательностей и не разрешает обработку каких-либо параметров. На практике многие реализации echo
несовместимы со средой по умолчанию.
Из-за этих различий в поведении echo
считается непереносимой командой в Unix-подобных системах, а команда printf
(где available, представленный Ninth Edition Unix).
C: \>echo Hello world Hello world
Используя escape-код ANSI последовательности SGR, совместимые терминалы могут распечатывать цветной текст.
Использование реализации в стиле UNIX System III :
BGRED = ʻecho "\ 033 [41m" `FGBLUE = ʻecho" \ 033 [35m "` BGGREEN = ʻecho "\ 033 [42m" `NORMAL = ʻecho" \ 033 [m "`
Или реализация в стиле Unix версии 8 (например, Bash, когда не находится в режиме совместимости с Unix):
BGRED = ʻecho - e "\ 033 [41m" `FGBLUE = ʻecho -e" \ 033 [35m "` BGGREEN = ʻecho -e "\ 033 [42m" `NORMAL = ʻecho -e" \ 033 [m "`
и после:
echo "$ {FGBLUE} Текст синим цветом $ {NORMAL}" echo "Текст нормальным" echo "$ {BGRED} Фон красным" echo "$ {BGGREEN} Фон зеленым и обратно к нормальному $ { NORMAL} "
Переносимо с printf
:
BGRED =` printf '\ 33 [41m'` NORMAL = `printf' \ 33 [m'` printf '% s \ n'" $ {BGRED} Текст на красном фоне $ {NORMAL} "
В Викиучебнике есть книга по теме: Руководство по командам Windows |
Викибук Руководство по Unix имеет страницу по теме: Команды |
echo
: запись аргументов в стандартный вывод - Справочник по командам и утилитам, Единая спецификация UNIX, выпуск 7 из The Open Group echo (1)
– Plan 9 Руководство программиста, том 1echo (1)
– Inferno Общие команды Руководство