echo
가 Multics 내에서 시작되었습니다. Doug McIlroy가 “손가락 운동”으로 C로 프로그래밍하고 유용한 것으로 입증 된 후 버전 2 Unix의 일부가되었습니다. 버전 7의 echo -n
가 prompt
를 대체했습니다 (echo
처럼 동작하지만 출력을 종료하지 않음). 줄 구분 기호 포함).
PWB / UNIX 및 이후 Unix System III에서 echo
는 \n
8 진수 이스케이프 시퀀스가 C에서 \ooo
대신 \0ooo
로 표현되었다는 주목할만한 차이점이 있습니다.
8 판 Unix echo
는 -e
옵션을 전달할 때만 이스케이프 확장을 수행했으며 해당 동작은 다음과 같은 몇 가지 다른 구현에 의해 복사되었습니다. Bash 또는 zsh 및 GNU echo
의 내장 echo
명령.
MS-DOS에서 명령을 사용할 수 있습니다. 버전 2 이상입니다.
요즘에는 echo
의 여러 가지 호환되지 않는 구현이 서로 다른 운영 체제에 존재합니다 (종종 동일한 시스템), 그들 중 일부는 기본적으로 이스케이프 시퀀스를 확장하고 일부는 확장하지 않고 일부는 옵션 (구현에 따라 다양한 목록)을 허용하지만 일부는 허용하지 않습니다.
는 첫 번째 인수가 -n
이거나 모든 인수에 백 슬래시 문자가 포함되어있는 반면 Unix 사양 (POSIX의 XSI 옵션)이 확장을 요구하는 경우 동작을 지정하지 않은 상태로 둡니다. (일부) 시퀀스의 일부이며 옵션 처리를 허용하지 않습니다. 실제로 대부분의 echo
구현은 기본 환경에서 호환되지 않습니다.
이러한 동작 변화로 인해 echo
는 Unix 계열 시스템에서 이식 할 수없는 명령으로 간주되며 printf
명령 (사용 가능한 경우 Ninth Edition Unix에서 도입 됨)이 대신 선호됩니다.