TranslateProject/published/201408/20140811 Echo Command with Practical Examples.md

131 lines
3.9 KiB
Markdown
Raw Normal View History

Echo命令实例
2014-08-11 11:05:10 +08:00
================================================================================
echo命令是内建的**shell命令**,用于显示**变量**的值或者**打印一行文本**。
echo命令在构建shell脚本时扮演着重要的角色。
2014-08-11 11:05:10 +08:00
### 语法: ###
2014-08-11 11:05:10 +08:00
# echo [Options] [String]
方括号中的项目是可选的。字符串可以定义为字符的有限序列(如字母,数字,符号,标点符号)。
2014-08-11 11:05:10 +08:00
当echo命令不带任何选项或字符串使用时它会在显示屏上返回一个空白行后面换一行跟上命令提示符。这是因为按下回车键就是发送一个信号给系统以开始一个新行而echo重复了该信号。
2014-08-11 11:05:10 +08:00
### 选项: ###
2014-08-11 11:05:10 +08:00
- -n 不要输出衍生的新行
- -e 启用反斜线转义解释
- -E 禁用反斜线转义解释(默认)
2014-08-11 11:05:10 +08:00
如果使用-e选项则可以使用如下转义序列
2014-08-11 11:05:10 +08:00
- \\ 反斜线
- \a 警告BEL
- \b 反斜线
- \c 不产生进一步输出
- \e 转义
- \f 换页
- \n 新行
- \r 换行字符
- \t 水平制表
- \v 垂直制表
- \0NNN 八进制值表示的字节NNN1到3个数字
- \xHH 十六进制值表示的字节NNN1到2个数字
2014-08-11 11:05:10 +08:00
### 样例1 显示系统定义的变量的值 ###
使用set命令我们可以列出系统定义的变量。而要打印这些变量的值我们可以使用echo命令
2014-08-11 11:05:10 +08:00
jack@localhost:~$ echo $USER
jack
jack@localhost:~$ echo $HOME
/home/jack
### 样例2 显示用户定义的变量的值 ###
2014-08-11 11:05:10 +08:00
jack@nextstep4it:~$ var1=`date`
jack@nextstep4it:~$ echo "Today's date time is : $var1"
Today's date time is : Mon Jul 28 13:11:37 IST 2014
### 样例3 显示文本字符串 ###
2014-08-11 11:05:10 +08:00
jack@nextstep4it:~$ echo " Hi this echo command testing"
Hi this echo command testing
### 样例4 在echo命令中使用反斜线 ###
2014-08-11 11:05:10 +08:00
jack@nextstep4it:~$ echo -e "Ubuntu \bis \bthe \bbest \bDesktop \bOS"
上述命令将打印:
2014-08-11 11:05:10 +08:00
UbuntuisthebestDesktopOS
### 样例5 在echo命令中使用制表符空格 ###
2014-08-11 11:05:10 +08:00
nextstep4it@nextstep4it:~$ echo -e "Ubuntu \tis \tthe \tbest \tDesktop \tOS"
上述命令将显示如下输出:
2014-08-11 11:05:10 +08:00
Ubuntu is the best Desktop OS
### 样例6 在echo命令中使用垂直制表符 ###
2014-08-11 11:05:10 +08:00
jack@nextstep4it:~$ echo -e "Ubuntu \vis \vthe \vbest \vDesktop \vOS"
Ubuntu
is
the
best
Desktop
OS
### 样例7 设置echo命令彩色输出 ###
2014-08-11 11:05:10 +08:00
echo命令可以修改字体类型字体背景色以及字体颜色转义序列\033可以用于改变字体属性。要使转义序列生效必须使用-e选项。下面列出了部分转义代码
2014-08-11 11:05:10 +08:00
- [0m: 正常
- [1m: 粗体
- [4m: 字体加上下划线
- [7m: 逆转前景和背景色
- [8m: 不可见字符
- [9m: 跨行字体
- [30m: 灰色字体
- [31m: 红色字体
- [32m: 绿色字体
- [33m: 棕色字体
- [34m: 蓝色字体
- [35m: 紫色字体
- [36m: 浅蓝色字体
- [37m: 浅灰字体
- [38m: 黑色字体
- [40m: 黑色背景
- [41m: 红色背景
- [42m: 绿色背景
- [43m: 棕色背景
- [44m: 蓝色背景
- [45m: 紫色背景
- [46m: 浅蓝色背景
- [47m: 浅灰色背景
2014-08-11 11:05:10 +08:00
下面的命令将用红色打印输出。
2014-08-11 11:05:10 +08:00
jack@nextstep4it:~$ echo -e "\033[31mMagic of Linux\033[0m"
Magic of Linux
下面的命令将以粗体以及红色背景打印出“Magic of Linux”。
2014-08-11 11:05:10 +08:00
nextstep4it@nextstep4it:~$ echo -e "\033[1m\033[41mMagic of Linux\033[0m"
Magic of Linux
--------------------------------------------------------------------------------
via: http://www.nextstep4it.com/categories/unix-command/echo-command/
译者:[GOLinux](https://github.com/GOLinux)
校对:[wxy](https://github.com/wxy)
2014-08-11 11:05:10 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出