echo 命令详解

时间:2023-03-09 19:44:19
echo 命令详解

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

选项

-e:激活转义字符。 使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;

  

输出颜色

文字色 \e[1;31m 将颜色设置为红色 \e[0m 将颜色重新置

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

eg:

[root@layzj022301 ~]# echo -e "\e[1;31mThis is red text\e[0m"
This is red text
[root@layzj022301 ~]#
[root@layzj022301 ~]# echo -e "\e[1;32mThis is green text\e[0m"
This is green text
[root@layzj022301 ~]# echo -e "\e[1;33mThis is yellow text\e[0m"
This is yellow text
[root@layzj022301 ~]# echo -e "\e[1;34mThis is blue text\e[0m"
This is blue text
[root@layzj022301 ~]# echo -e "\e[1;35mThis is carmine text\e[0m"
This is carmine text
[root@layzj022301 ~]# echo -e "\e[1;36mThis is cyan text\e[0m"
This is cyan text
[root@layzj022301 ~]# echo -e "\e[1;37mThis is white text\e[0m"
This is white text
[root@layzj022301 ~]#

  

背景色

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

eg:

[root@layzj022301 ~]# echo -e "\e[1;47mThis is red text\e[0m"
This is red text
[root@layzj022301 ~]# echo -e "\e[1;46mThis is green text\e[0m"
This is green text
[root@layzj022301 ~]# echo -e "\e[1;45mThis is yellow text\e[0m"
This is yellow text
[root@layzj022301 ~]# echo -e "\e[1;44mThis is blue text\e[0m"
This is blue text
[root@layzj022301 ~]# echo -e "\e[1;43mThis is carmine text\e[0m"
This is carmine text
[root@layzj022301 ~]# echo -e "\e[1;42mThis is cyan text\e[0m"
This is cyan text
[root@layzj022301 ~]# echo -e "\e[1;41mThis is white text\e[0m"
This is white text
[root@layzj022301 ~]#

  

文字闪动

[root@layzj022301 ~]# echo -e "\033[37;31;5mHello This Wenderful Shell~~~\033[39;49;0m"
Hello This Wenderful Shell~~~
[root@layzj022301 ~]#

  

man echo

[root@layzj022301 ~]# man echo
ECHO(1) User Commands ECHO(1) NAME
echo - display a line of text SYNOPSIS
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION DESCRIPTION
Echo the STRING(s) to standard output. -n do not output the trailing newline -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) --help display this help and exit --version
output version information and exit If -e is in effect, the following sequences are recognized: \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) NOTE: your shell may have its own version of echo, which usually supersedes the version described here. Please refer to your shell’s documenta-
tion for details about the options it supports. AUTHOR
Written by Brian Fox and Chet Ramey. REPORTING BUGS
Report echo bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report echo translation bugs to <http://translationproject.org/team/> COPYRIGHT
Copyright © 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
The full documentation for echo is maintained as a Texinfo manual. If the info and echo programs are properly installed at your site, the com-
mand info coreutils 'echo invocation' should give you access to the complete manual. GNU coreutils 8.4 June 2014 ECHO(1)