Jump to content

echo (command)

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

echo
Original author(s)Douglas McIlroy
(AT&T Bell Laboratories)
Developer(s)Various open-source and commercial developers
Operating systemMultics, Unix, Unix-like, 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
PlatformCross-platform
TypeCommand

컴퓨팅에서, echo인수로 전달되는 문자열을 출력하는 명령입니다. 그것은 다양한 운영 시스템 에서 사용할 수 있는 명령이고 전형적으로 쉘 스크립트배치 파일에서 화면 또는 컴퓨터 파일에 상태 텍스트를 출력하거나 파이프라인의 소스 부분으로 사용됩니다.[1]

Implementations

그 명령은 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, 유닉스유닉스-계열 운영 시스템에서 사용할 수 있습니다.

Bourne-계열 쉘 (예를 들어, Bash[14] 또는 zsh[15]) 및 Csh-계열 쉘을 포함한 많은 셀, 마찬가지로 COMMAND.COM과 cmd.exe는 echo내장 명령으로 구현합니다.

그 명령은 역시 EFI 쉘에서 사용할 수 있습니다.[16]

History

echoMultics 내에서 시작되었습니다. 그것은 Doug McIlroy에 의해 "finger exercise"로 C로 프로그래밍하고 유용한 것으로 판명된 후, 버전 2 유닉스의 일부가 되었습니다. 버전 7에서 echo -nprompt를 대체했습니다, (그것은 echo처럼 작동하지만 줄 구분 기호로 출력을 종료하지 않습니다).[17]

PWB/UNIX와 이후의 유닉스 시스템 III에서, echo는 팔진 이스케이프 시퀀스가 C에서 \ooo 대신 \0ooo로 표현되었다는 주목할만한 차이점과 함께 \n과 같은 C 이스케이프 시퀀스를 확장하기 시작했습니다.[18]

Eighth Edition Unix echo는 오직 -e 옵션이 전달되었을 때 이스케이프 확장을 수행했고,[19] Bash 또는 zsh의 내장 echo 명령과 GNU echo와 같은 몇 가지 다른 구현에 의해 해당 동작이 복사되었습니다.

MS-DOS에서, 그 명령은 버전 2 이상에서 사용할 수 있습니다.[20]

오늘날, echo의 여러 호환되지 않는 구현이 다른 운영 시스템 (종종 같은 시스템에 여러 개)에 존재하며, 그 중 일부는 기본적으로 이스케이프 시퀀스를 확장하고, 일부는 그렇지 않으며, 일부는 옵션을 허용하고 (구현에 따라 목록이 다름), 그들 중 일부는 그렇지 않습니다.

echoPOSIX 사양은[21] 첫 번째 인수가 -n이거나 임의의 인수가 백슬래시 문자가 포함하면 동작을 지정하지 않은 상태로 두지만 유닉스 사양 (POSIX에서 XSI 옵션)은 (일부) 시퀀스의 확장을 요구하고 임의의 옵션 처리를 허용하지 않습니다. 실제로, 많은 echo 구현은 기본 환경에서 호환되지 않습니다.

동작에서 이러한 변형 때문에, echo는 유닉스-계열 시스템에서 이식할 수 없는 명령으로 여겨지고[22] 대신 printf 명령 (여기서 사용가능, Ninth Edition Unix에서 도입됨)이 선호됩니다.

Usage examples

C:\>echo Hello world
Hello world

ANSI 이스케이프 코드 SGR 시퀀스를 사용하여, 호환되는 터미널은 컬러 텍스트를 인쇄할 수 있습니다.

유닉스 시스테 III-스타일 구현을 사용하여:

BGRED=`echo "\033[41m"`
FGBLUE=`echo "\033[35m"`
BGGREEN=`echo "\033[42m"`

NORMAL=`echo "\033[m"`

또는 유닉스 버전 8-스타일 구현 (예를 들어 유닉스-호환 모드가 아닐 때 Bash):

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}"

See also

References

  1. ^ Rügheimer, Hannes; Spanik, Christian (September 12, 1988). "AmigaDOS quick reference". Grand Rapids, Mi : Abacus – via Internet Archive.
  2. ^ "Multics Commands". www.multicians.org.
  3. ^ "FLEX 9.0 User's Manual" (PDF).
  4. ^ "Manual" (PDF). www.pagetable.com. Retrieved 2020-09-12.
  5. ^ Z80-RIO OPERATING SYSTEM USER'S MANUAL
  6. ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  7. ^ "Chris's Acorns: Panos". chrisacorns.computinghistory.org.uk.
  8. ^ [1][dead link]
  9. ^ [2][dead link]
  10. ^ "echo". docs.microsoft.com.
  11. ^ "reactos/reactos". GitHub.
  12. ^ MPE/iX Command Reference Manual
  13. ^ "Shell - KolibriOS wiki". wiki.kolibrios.org.
  14. ^ "Bash Builtins (Bash Reference Manual)". www.gnu.org.
  15. ^ "zsh: 17 Shell Builtin Commands". zsh.sourceforge.net.
  16. ^ "EFI Shells and Scripting". Intel. Retrieved 2013-09-25.
  17. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  18. ^ Mascheck, Sven. "echo and printf behaviour". Retrieved 24 July 2016.
  19. ^ "8th Edition Unix echo man page". Retrieved 24 July 2016.
  20. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  21. ^ echo: write arguments to standard output – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
  22. ^ "Autoconf documentation on echo portability". Free Software Foundation. Retrieved 24 July 2016.

Further reading