echo (command)
Cross-platform | |
Type | Command |
---|
In
Implementations
The command is available in the following operating systems:
- 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 and Unix-like operating systems
Many shells, including all
.The command is also available in the
History
echo
began within
echo -n
in Version 7 replaced prompt
, (which behaved like echo
but without terminating its output with a line delimiter).[17]On
echo
started expanding C escape sequences such as \n
with the notable difference that octal escape sequences were expressed as \0ooo
instead of \ooo
in C.[18]echo
.
On MS-DOS, the command is available in versions 2 and later.[20]
Nowadays, several incompatible implementations of echo
exist on different operating systems (often several on the same system), some of them expanding escape sequences by default, some of them not, some of them accepting options (the list of which varying with implementations), some of them not.
The POSIX specification of echo
[21] leaves the behaviour unspecified if the first argument is -n
or any argument contain backslash characters while the Unix specification (XSI option in POSIX) mandates the expansion of (some) sequences and does not allow any option processing. In practice, many echo
implementations are not compliant in the default environment.
Because of these variations in behaviour, echo
is considered a non-portable command on Unix-like systems[22] and the printf
command (where available, introduced by Ninth Edition Unix) is preferred instead.
Usage examples
C:\>echo Hello world
Hello world
Using ANSI escape code SGR sequences, compatible terminals can print out colored text.
Using a UNIX System III-style implementation:
BGRED=`echo "\033[41m"`
FGBLUE=`echo "\033[35m"`
BGGREEN=`echo "\033[42m"`
NORMAL=`echo "\033[m"`
Or a Unix Version 8-style implementation (such as Bash when not in Unix-conformance mode):
BGRED=`echo -e "\033[41m"`
FGBLUE=`echo -e "\033[35m"`
BGGREEN=`echo -e "\033[42m"`
NORMAL=`echo -e "\033[m"`
and after:
echo "${FGBLUE} Text in blue ${NORMAL}"
echo "Text normal"
echo "${BGRED} Background in red"
echo "${BGGREEN} Background in Green and back to Normal ${NORMAL}"
Portably with printf
:
BGRED=`printf '\33[41m'`
NORMAL=`printf '\33[m'`
printf '%s\n' "${BGRED}Text on red background${NORMAL}"
See also
- List of Unix commands
- List of DOS commands
References
- ISBN 9781557550491– via Internet Archive.
- ^ "Multics Commands". www.multicians.org.
- ^ "FLEX 9.0 User's Manual" (PDF).
- ^ "Manual" (PDF). www.pagetable.com. Retrieved 2020-09-12.
- ^ "Z80-RIO OPERATING SYSTEM USER'S MANUAL" (PDF).
- ISBN 0-9519228-0-7.
- ^ "Chris's Acorns: Panos". chrisacorns.computinghistory.org.uk.
- ^ "FlexOS™ User's Guide" (PDF). Archived from the original (PDF) on 2018-09-14.
- ^ "OS/2 Batch File Commands". Archived from the original on 2019-04-14.
- ^ "echo". docs.microsoft.com. 2 October 2023.
- ^ "reactos/reactos". GitHub. 3 January 2022.
- ^ "MPE/iX Command Reference Manual" (PDF). Archived from the original (PDF) on 2018-10-21. Retrieved 2018-10-21.
- ^ "Shell - KolibriOS wiki". wiki.kolibrios.org.
- ^ "Bash Builtins (Bash Reference Manual)". www.gnu.org.
- ^ "zsh: 17 Shell Builtin Commands". zsh.sourceforge.net.
- ^ "EFI Shells and Scripting". Intel. Retrieved 2013-09-25.
- McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986(PDF) (Technical report). CSTR. Bell Labs. 139.
- ^ Mascheck, Sven. "echo and printf behaviour". Retrieved 24 July 2016.
- ^ "8th Edition Unix echo man page". Retrieved 24 July 2016.
- ISBN 0-7356-1812-7.
- The Single UNIX Specification, Version 4 from The Open Group
- ^ "Autoconf documentation on echo portability". Free Software Foundation. Retrieved 24 July 2016.
Further reading
- Wolverton, Van (1990). MS-DOS Commands: Microsoft Quick Reference, 4th Revised edition. ISBN 978-1556152894.
- Kathy Ivens; Brian Proffit (1993). OS/2 Inside & Out. ISBN 978-0078818714.
- Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. ISBN 978-0-596-00148-3.
External links
- The Single UNIX Specification, Version 4 from The Open Group
: write arguments to standard output – Shell and Utilities Reference,
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –
- Microsoft TechNet Echo article