Из Википедии, бесплатной энциклопедии
  (Перенаправлено из ECHO (команда DOS) )
Перейти к навигации Перейти к поиску

В вычислении , echoэто команда , которая выводит строки она передается в качестве аргументов . Это команда, доступная в различных оболочках операционной системы и обычно используемая в сценариях оболочки и пакетных файлах для вывода текста состояния на экран [1] или в компьютерный файл , или в качестве исходной части конвейера .

Реализации [ править ]

Команда доступна в Multics , [2] TSC FLEX , [3] MetaComCo TRIPOS , [4] Zilog Z80-RIO , [5] Microware OS-9 , [6] DOS , Acorn Computers Panos , [7] Digital Research FlexOS , [8] IBM OS / 2 , [9] Microsoft Windows , [10] ReactOS , [11] HP MPE / iX , [12] KolibriOS , [13] SymbOS, Unix и Unix-подобные операционные системы.

Многие оболочки, включая все оболочки, подобные Bourne (такие как Bash [14] или zsh [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начал расширять C управляющие последовательности , такие , как \nс заметным отличием , что восьмеричные управляющие последовательности были выражены как \0oooвместо того , чтобы \oooв C. [18]

Восьмое издание Unix echo выполняло escape-расширение только при передаче -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команду (если она доступна, введена в Ninth Edition Unix).

Примеры использования [ править ]

C: \> echo Привет, мир, привет, мир

Используя escape-коды ANSI SGR , совместимые терминалы могут распечатывать цветной текст.

Использование реализации в стиле UNIX System III :

BGRED = ` echo  " \ 033 [41m " ` FGBLUE = ` echo  " \ 033 [35m " ` BGGREEN = ` echo  " \ 033 [42m " `НОРМАЛЬНЫЙ = ` эхо  " \ 033 [м " `

Или реализация в стиле Unix версии 8 (например, Bash, когда он не находится в режиме соответствия Unix):

BGRED = ` echo -e " \ 033 [41m " ` FGBLUE = ` echo -e " \ 033 [35m " ` BGGREEN = ` echo -e " \ 033 [42m " `НОРМАЛЬНЫЙ = ` echo -e " \ 033 [м " `

и после:

echo  " $ { FGBLUE } Текст синим цветом $ { NORMAL } " echo  "Обычный текст" echo  " $ { BGRED } Фон красным цветом" echo  " $ { BGGREEN } Фон зеленым и обратно к нормальному $ { NORMAL } "

Портативно с printf:

BGRED = ` Printf  '\ 33 [41m' ` НОРМАЛЬНЫЙ = ` Printf  '\ 33 [м' ` Printf  '% s \ п'  " $ { BGRED } Текст на красном фоне $ { NORMAL } "

См. Также [ править ]

  • Список команд Unix
  • Список команд DOS

Ссылки [ править ]

  1. ^ Рюгхаймер, Ханнес; Спаник, Кристиан (12 сентября 1988 г.). «Краткий справочник по AmigaDOS» . Гранд-Рапидс, Mi: Abacus - через Интернет-архив.
  2. ^ "Команды Multics" . www.multician.org .
  3. ^ "Руководство пользователя FLEX 9.0" (PDF) .
  4. ^ "Руководство" (PDF) . www.pagetable.com . Проверено 12 сентября 2020 .
  5. ^ РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ Z80-RIO
  6. ^ Пол С. Даян (1992). Гуру OS-9 - 1: Факты . Галактик Индастриал Лимитед. ISBN 0-9519228-0-7.
  7. ^ "Желуди Криса: Панос" . chrisacorns.computinghistory.org.uk .
  8. ^ [1] [ неработающая ссылка ]
  9. ^ [2] [ мертвая ссылка ]
  10. ^ "эхо" . docs.microsoft.com .
  11. ^ "reactos / reactos" . GitHub .
  12. ^ Справочное руководство по командам MPE / iX
  13. ^ "Оболочка - KolibriOS wiki" . wiki.kolibrios.org .
  14. ^ «Встроенные средства Bash (Справочное руководство по Bash)» . www.gnu.org .
  15. ^ "zsh: 17 встроенных команд оболочки" . zsh.sourceforge.net .
  16. ^ «Оболочки EFI и сценарии» . Intel . Проверено 25 сентября 2013 .
  17. Перейти ↑ McIlroy, MD (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (технический отчет). CSTR. Bell Labs. 139.
  18. ^ Mascheck, Свен. "поведение echo и printf" . Проверено 24 июля +2016 .
  19. ^ "8-е издание Unix echo man page" . Проверено 24 июля +2016 .
  20. ^ Wolverton, Ван (2003). Запуск MS-DOS версии 6.22 (20-летняя редакция), 6-я пересмотренная редакция . Microsoft Press . ISBN 0-7356-1812-7.
  21. ^ echo : записать аргументы в стандартный вывод - Справочник по командам и служебным программам, Спецификация Single UNIX , Выпуск 7 от The Open Group
  22. ^ "Документация Autoconf по переносимости эха" . Фонд свободного программного обеспечения . Проверено 24 июля +2016 .

Дальнейшее чтение [ править ]

  • Волвертон, Ван (1990). Команды MS-DOS: Краткий справочник Microsoft, 4-е исправленное издание . Microsoft Press . ISBN 978-1556152894.
  • Кэти Ивенс; Брайан Проффит (1993). OS / 2 Inside & Out . Осборн МакГроу-Хилл . ISBN 978-0078818714.
  • Фриш, Элин (2001). Карманный справочник команд Windows 2000 . О'Рейли . ISBN 978-0-596-00148-3.

Внешние ссылки [ править ]

  • echo: записывать аргументы в стандартный вывод - Справочник по командам и служебным программам, Единая спецификация UNIX , выпуск 7 от The Open Group
  • echo(1) -  Руководство программиста Plan 9 , том 1
  • echo(1) -  Руководство по общим командам Inferno
  • Статья Microsoft TechNet Echo