简介
echo命令用于在终端输出字符串或变量提取后的值, 输出的字符串间以空白字符隔开并在最后添加换行。
语法格式
echo [OPTION]… [STRING]…
常用参数
-n | 禁止自动添加换行符号 |
---|---|
-e | 允许使用转义字符 \n : 换行 \t : 制表符 \b : 删除前一个字符 \c : 结尾不加换行 \f : 换行,光标停在下一行原处 \\ : 输出 \ |
-E | 禁用转义解释 |
“$VAR_NAME” | 变量会替换,双引号表示弱引用 |
‘$VAR_NAME’ | 变量不会替换, 强引用 |
示例
## 显示普通字符
[root@gkdaxue ~]# echo "Hello World"
Hello World
[root@gkdaxue ~]# echo Hello World
Hello World
## 显示变量
[root@gkdaxue ~]# echo $PWD
/root
## -n 参数
[root@gkdaxue ~]# echo -n "Hello World"
Hello World[root@gkdaxue ~]#
## 显示换行
[root@gkdaxue ~]# echo -e "OK! \n"
OK!
[root@gkdaxue ~]#
## 显示不换行 相当于 echo -n
[root@gkdaxue ~]# echo -e "OK! \c"
OK! [root@gkdaxue ~]#
## \f 参数
[root@gkdaxue ~]# echo -e "hello\fworld"
hello
world
## \b 参数
[root@gkdaxue ~]# echo -e "123\b456"
12456
## 显示命令执行结果
[root@gkdaxue ~]# echo `date`
2021年 03月 30日 星期二 14:40:58 EDT
注意事项
## 单引号和双引号的区别
[root@gkdaxue ~]# echo "$PWD"
/root
[root@gkdaxue ~]# echo '$PWD'
$PWD
## 转义符号的使用, 如果我定义了一个变量,我有 $5,
[root@gkdaxue ~]# PRICE=5
## 我要输出我有 $5, 结果变成了如下所示
[root@gkdaxue ~]# echo "I have $$PRICE"
I have 2449PRICE
## 这个时候我们就可以使用转义来做
[root@gkdaxue ~]# echo "I have \$$PRICE"
I have $5
其他用法
## 1. 直接把内容写入到一个文件中
[root@gkdaxue ~]# echo 'hello world' > test.txt
[root@gkdaxue ~]# cat test.txt
hello world
[root@gkdaxue ~]# echo '' > test.txt
[root@gkdaxue ~]# cat test.txt
[root@gkdaxue ~]#
输出带颜色的内容
首先要知道在linux中,一些常用的颜色代码:(这些颜色是ANSI标准颜色)
前景色:30黑 31红 32绿 33黄 34蓝 35紫 36青 37白
背景色:40黑 41红 42绿 43黄 44青 45蓝 46青 47白
在编写shell脚本时,有时为了视觉效果,会加上一些颜色,这些颜色不仅有醒目的效果,还自带炫酷效果。格式为 :
echo -e “\033[字背景颜色;文字颜色m字符串\033[0m” ## 同时添加字背景颜色和文字颜色 echo -e “\033[文字颜色m字符串\033[0m” ## 仅添加文字颜色
字颜色 30 - 37
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
字背景颜色 40 - 47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"