컴퓨팅에서, echo는 인수로 전달되는 문자열을 출력하는 명령입니다. 그것은 다양한 운영 시스템 쉘에서 사용할 수 있는 명령이고 전형적으로 쉘 스크립트와 배치 파일에서 화면 또는 컴퓨터 파일에 상태 텍스트를 출력하거나 파이프라인의 소스 부분으로 사용됩니다.
Implementations
그 명령은 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, 유닉스 및 유닉스-계열 운영 시스템에서 사용할 수 있습니다.
Bourne-계열 쉘 (예를 들어, Bash 또는 zsh) 및 Csh-계열 쉘을 포함한 많은 셀, 마찬가지로 COMMAND.COM과 cmd.exe는 echo를 내장 명령으로 구현합니다.
그 명령은 역시 EFI 쉘에서 사용할 수 있습니다.
History
echo는 Multics 내에서 시작되었습니다. 그것은 Doug McIlroy에 의해 "finger exercise"로 C로 프로그래밍하고 유용한 것으로 판명된 후, 버전 2 유닉스의 일부가 되었습니다. 버전 7에서 echo -n은 prompt를 대체했습니다, (그것은 echo처럼 작동하지만 줄 구분 기호로 출력을 종료하지 않습니다).
PWB/UNIX와 이후의 유닉스 시스템 III에서, echo는 팔진 이스케이프 시퀀스가 C에서 \ooo 대신 \0ooo로 표현되었다는 주목할만한 차이점과 함께 \n과 같은 C 이스케이프 시퀀스를 확장하기 시작했습니다.
Eighth Edition Unix echo는 오직 -e 옵션이 전달되었을 때 이스케이프 확장을 수행했고, Bash 또는 zsh의 내장 echo 명령과 GNU echo와 같은 몇 가지 다른 구현에 의해 해당 동작이 복사되었습니다.
MS-DOS에서, 그 명령은 버전 2 이상에서 사용할 수 있습니다.
오늘날, echo의 여러 호환되지 않는 구현이 다른 운영 시스템 (종종 같은 시스템에 여러 개)에 존재하며, 그 중 일부는 기본적으로 이스케이프 시퀀스를 확장하고, 일부는 그렇지 않으며, 일부는 옵션을 허용하고 (구현에 따라 목록이 다름), 그들 중 일부는 그렇지 않습니다.
echo의 POSIX 사양은 첫 번째 인수가 -n이거나 임의의 인수가 백슬래시 문자가 포함하면 동작을 지정하지 않은 상태로 두지만 유닉스 사양 (POSIX에서 XSI 옵션)은 (일부) 시퀀스의 확장을 요구하고 임의의 옵션 처리를 허용하지 않습니다. 실제로, 많은 echo 구현은 기본 환경에서 호환되지 않습니다.
동작에서 이러한 변형 때문에, echo는 유닉스-계열 시스템에서 이식할 수 없는 명령으로 여겨지고 대신 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}"
Further reading
- Wolverton, Van (1990). MS-DOS Commands: Microsoft Quick Reference, 4th Revised edition. Microsoft Press. ISBN 978-1556152894.
- Kathy Ivens; Brian Proffit (1993). OS/2 Inside & Out. Osborne McGraw-Hill. ISBN 978-0078818714.
- Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN 978-0-596-00148-3.
External links
- echo: write arguments to standard output – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
- echo(1) – Plan 9 Programmer's Manual, Volume 1
- echo(1) – Inferno General commands Manual
- Microsoft TechNet Echo article