Echo (command)
In computing, echo
is a command in DOS, OS/2, Microsoft Windows, Singularity, Unix and Unix-like operating systems that places a string on the computer terminal. It is a built-in command typically used in shell scripts and batch files to output status text to the screen or a file.
Many shells, including Bash[1] and zsh,[2] implement echo
as a builtin command.
Usage example
> echo Hello world Hello world
Using ANSI escape code SGR sequences, compatible terminals can print out colored text:
FGRED=`echo "\033[31m"` FGCYAN=`echo "\033[36m"` BGRED=`echo "\033[41m"` FGBLUE=`echo "\033[35m"` BGGREEN=`echo "\033[42m"` NORMAL=`echo "\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}"
Some variants of Unix, such as Linux, support the options -n
and -e
, and do not process escape sequences unless the -e
option is supplied. For example, FGRED=`echo -e "\033[31m"`
might be used under Linux. Unfortunately, such options are non standard[3] due to historical incompatibilities between BSD and System V; the printf
command can be used in situations where this is a problem. It is therefore recommended that printf
be used to ensure that escape sequences are processed. The equivalent code using printf
is simply FGRED=`printf "\033[31m"`
.
Implementation example
The echo
command can be implemented in the C programming language with only a few lines of code:
#include <stdlib.h> #include <stdio.h> /* echo command-line arguments; 1st version */ int main(int argc, char *argv[]) { int i; for (i = 1; i < argc-1; i++) { (void) printf("%s%s", argv[i], " "); } (void) printf("%s%s", argv[argc-1], "\n"); return EXIT_SUCCESS; }
Scripting Languages can also emulate echo quite simply:
$ perl -e 'print join " ", @ARGV; print "\n"' This is a test. This is a test. $ python -c "import sys; print ' '.join(sys.argv[1:])" This is a test. This is a test.
See also
- List of Unix Programs
- List of DOS commands
References
External links
- : write arguments to standard output – Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group
- Microsoft TechNet Echo article
|
|