HOME

TheInfoList



OR:

echo is
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
command that writes input text to
standard output Standard may refer to: Symbols * Colours, standards and guidons, kinds of military signs * Standard (emblem), a type of a large symbol or emblem used for identification Norms, conventions or requirements * Standard (metrology), an object t ...
. It is available in many
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
and shells. It is often used in a shell script to log status, provide feedback to the user and for debugging. For an interactive session, output by default displays on the terminal screen, but output can be re-directed to a file or piped to another process. Many shells implement echo as a builtin command rather than an external application as are many other commands. Multiple, incompatible implementations of echo exist in different shells. Some expand escape sequences by default; some do not; some accept options; some do not. The
POSIX The Portable Operating System Interface (POSIX; ) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines application programming interfaces (APIs), along with comm ...
specification leaves the behavior unspecified if the first argument is -n or any argument contains 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, echo is considered a non-portable command and the printf command (introduced in Ninth Edition Unix) is preferred instead.


Implementations

The command is available the following shells or at least one shell of a listed operating system: * Unix and
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
shells * Windows * Multics *
OS/2 OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
* DOS * TSC FLEX * MetaComCo TRIPOS * Zilog Z80-RIO * OS-9 * Panos * FlexOS *
ReactOS ReactOS is a Free and open-source software, free and open-source operating system for i586/amd64 personal computers that is intended to be binary-code compatibility, binary-compatible with computer programs and device drivers developed for Wind ...
* MPE/iX * KolibriOS * SymbOS * EFI shell.


History

echo began within Multics. After it was programmed in C by Doug McIlroy as a "finger exercise" and proved to be useful, it became part of Version 2 Unix. echo -n in Version 7 replaced prompt, (which behaved like echo but without terminating its output with a line delimiter). On PWB/UNIX and later Unix System III, 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. Eighth Edition Unix echo only did the escape expansion when passed a -e option, and that behaviour was copied by a few other implementations such as the builtin echo command of Bash or zsh and GNU echo. On MS-DOS, the command is available in versions 2 and later.


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 "$ Text in blue $" echo "Text normal" echo "$ Background in red" echo "$ Background in Green and back to Normal $" Portably with printf: BGRED=`printf '\33[41m'` NORMAL=`printf '\33[m'` printf '%s\n' "$Text on red background$"


See also

* *


References


Further reading

* * *


External links

* * *
Microsoft TechNet Echo article
{{Windows commands Internal DOS commands MSX-DOS commands OS/2 commands ReactOS commands Windows commands Multics commands Standard Unix programs Unix SUS2008 utilities Plan 9 commands Inferno (operating system) commands IBM i Qshell commands