эхо (команда)
Оригинальный автор(ы) | Дуглас Макилрой ( AT&T Bell Laboratories ) |
---|---|
Разработчик(и) | Различные с открытым исходным кодом и коммерческие разработчики разработчики |
Операционная система | Multics , Unix , Unix-like , V , Plan 9 , Inferno , FLEX , TRIPOS , AmigaDOS , Z80-RIO , OS-9 , DOS , MSX-DOS , Panos , FlexOS , SISNE plus , OS/2 , Windows , ReactOS , MPE/iX , КолибриOS , SymbOS |
Платформа | Кросс-платформенный |
Тип | Команда |
В вычислениях , echo
— это команда , которая выводит строки, переданные ей в качестве аргументов . Это команда, доступная в различных операционной системы оболочках и обычно используемая в сценариях оболочки и пакетных файлах для вывода текста состояния на экран. [1] или компьютерный файл , или исходную часть конвейера .
Реализации
[ редактировать ]Команда доступна в следующих операционных системах:
- Мультикс [2]
- ТСК ФЛЕКС [3]
- МетаКомКо ТРИПОС [4]
- Зилог Z80-РИО [5]
- Микропрограммное обеспечение ОС-9 [6]
- ПРИНАДЛЕЖАЩИЙ
- Компьютеры Acorn Panos [7]
- Цифровые исследования FlexOS [8]
- IBM ОС/2 [9]
- Microsoft Windows [10]
- РеактОС [11]
- HP MPE/iX [12]
- Колибри [13]
- СимбОС
- Unix и Unix-подобные операционные системы
Многие оболочки, включая все Bourne -подобные (такие как Bash [14] или зш [15] ) и Csh -подобные оболочки, а также COMMAND.COM и cmd.exe реализуют echo
как встроенная команда .
Команда также доступна в оболочке EFI . [16]
История
[ редактировать ]echo
началось в Multics . запрограммировал его на языке C После того, как Дуг Макилрой как «упражнение для пальцев» и доказал свою полезность, он стал частью версии 2 Unix . echo -n
в версии 7 заменено prompt
, (который вел себя как echo
но без завершения вывода разделителем строк). [17]
В PWB/UNIX и более поздних версиях Unix System III echo
начал расширять escape-последовательности C, такие как \n
с той заметной разницей, что восьмеричные escape-последовательности выражались как \0ooo
вместо \ooo
в С. [18]
Восьмое издание Unix echo
расширение побега произошло только после прохождения -e
вариант, [19] и это поведение было скопировано несколькими другими реализациями, такими как встроенная функция echo
команда Bash или zsh и GNU echo
.
В MS-DOS команда доступна в версии 2 и более поздних. [20]
В настоящее время существует несколько несовместимых реализаций echo
существуют в разных операционных системах (часто в нескольких в одной системе), некоторые из них по умолчанию расширяют escape-последовательности, некоторые нет, некоторые принимают параметры (список которых варьируется в зависимости от реализации), некоторые нет.
Спецификация POSIX echo
[21] оставляет поведение неопределенным, если первый аргумент -n
или любой аргумент содержит символы обратной косой черты, в то время как спецификация Unix (опция XSI в POSIX) требует расширения (некоторых) последовательностей и не допускает никакой обработки параметров. На практике многие echo
реализации несовместимы со средой по умолчанию.
Из-за таких различий в поведении echo
считается непереносимой командой в Unix-подобных системах. [22] и printf
команда Вместо этого предпочтительна (если она доступна, введенная в девятом издании Unix).
Примеры использования
[ редактировать ]C:\>echo Hello world
Hello world
Используя ANSI escape-коды 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} Text in blue ${NORMAL}"
echo "Text normal"
echo "${BGRED} Background in red"
echo "${BGGREEN} Background in Green and back to Normal ${NORMAL}"
Портативно с printf
:
BGRED=`printf '\33[41m'`
NORMAL=`printf '\33[m'`
printf '%s\n' "${BGRED}Text on red background${NORMAL}"
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Рюгхаймер, Ханнес; Спаник, Кристиан (12 сентября 1988 г.). Краткий справочник по AmigaDOS . Гранд-Рапидс, Мичиган: Абакус. ISBN 9781557550491 – через Интернет-архив.
- ^ «Мультикоманды» . www.multicians.org .
- ^ «Руководство пользователя FLEX 9.0» (PDF) .
- ^ «Руководство» (PDF) . www.pagetable.com . Проверено 12 сентября 2020 г.
- ^ «РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ ОПЕРАЦИОННОЙ СИСТЕМЫ Z80-RIO» (PDF) .
- ^ Пол С. Даян (1992). OS-9 Guru-1: Факты . Галактика Индастриал Лимитед. ISBN 0-9519228-0-7 .
- ^ «Жёлуди Криса: Панос» . chrisacorns.computinghistory.org.uk .
- ^ «Руководство пользователя FlexOS™» (PDF) . Архивировано из оригинала (PDF) 14 сентября 2018 г.
- ^ «Команды пакетного файла OS/2» . Архивировано из оригинала 14 апреля 2019 г.
- ^ «эхо» . docs.microsoft.com . 2 октября 2023 г.
- ^ «реактос/реактос» . Гитхаб . 3 января 2022 г.
- ^ «Справочное руководство по командам MPE/iX» (PDF) . Архивировано из оригинала (PDF) 21 октября 2018 г. Проверено 21 октября 2018 г.
- ^ «Shell — KolibriOS wiki» . wiki.kolibrios.org .
- ^ «Встроенные функции Bash (Справочное руководство Bash)» . www.gnu.org .
- ^ «zsh: 17 встроенных команд оболочки» . zsh.sourceforge.net .
- ^ «Оболочки EFI и сценарии» . Интел . Проверено 25 сентября 2013 г.
- ^ Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139.
- ^ Масчек, Свен. «поведение echo и printf» . Проверено 24 июля 2016 г.
- ^ «Справочная страница Unix echo 8-го издания» . Проверено 24 июля 2016 г.
- ^ Вулвертон, Ван (2003). Работает MS-DOS версии 6.22 (20-е юбилейное издание), 6-е исправленное издание . Майкрософт Пресс . ISBN 0-7356-1812-7 .
- ^ Единая спецификация UNIX , версия 4 от The Open Group : запись аргументов в стандартный вывод – Справочник по командной строке и утилитам,
- ^ «Документация Autoconf по переносимости эхо» . Фонд свободного программного обеспечения . Проверено 24 июля 2016 г.
Дальнейшее чтение
[ редактировать ]- Вулвертон, Ван (1990). Команды MS-DOS: Краткий справочник Microsoft, 4-е исправленное издание . Майкрософт Пресс . ISBN 978-1556152894 .
- Кэти Ивенс; Брайан Проффит (1993). OS/2 Внутри и снаружи . Осборн МакГроу-Хилл . ISBN 978-0078818714 .
- Фриш, Элин (2001). Карманный справочник по командам Windows 2000 . О'Рейли . ISBN 978-0-596-00148-3 .
Внешние ссылки
[ редактировать ]- Единая спецификация UNIX , версия 4 от The Open Group : запись аргументов в стандартный вывод – Справочник по командной строке и утилитам,
- Plan 9 , том 1 Руководство программиста –
- Inferno по общим командам Руководство –
- Статья Microsoft TechNet Echo