简介

echo命令用于在终端输出字符串或变量提取后的值, 输出的字符串间以空白字符隔开并在最后添加换行。

语法格式

echo [OPTION]… [STRING]…

常用参数

-n 禁止自动添加换行符号
-e 允许使用转义字符
\n : 换行
\t : 制表符
\b : 删除前一个字符
\c : 结尾不加换行
\f : 换行,光标停在下一行原处
\\ : 输出 \
-E 禁用转义解释
“$VAR_NAME” 变量会替换,双引号表示弱引用
‘$VAR_NAME’ 变量不会替换, 强引用

示例

  1. ## 显示普通字符
  2. [root@gkdaxue ~]# echo "Hello World"
  3. Hello World
  4. [root@gkdaxue ~]# echo Hello World
  5. Hello World
  6. ## 显示变量
  7. [root@gkdaxue ~]# echo $PWD
  8. /root
  9. ## -n 参数
  10. [root@gkdaxue ~]# echo -n "Hello World"
  11. Hello World[root@gkdaxue ~]#
  12. ## 显示换行
  13. [root@gkdaxue ~]# echo -e "OK! \n"
  14. OK!
  15. [root@gkdaxue ~]#
  16. ## 显示不换行 相当于 echo -n
  17. [root@gkdaxue ~]# echo -e "OK! \c"
  18. OK! [root@gkdaxue ~]#
  19. ## \f 参数
  20. [root@gkdaxue ~]# echo -e "hello\fworld"
  21. hello
  22. world
  23. ## \b 参数
  24. [root@gkdaxue ~]# echo -e "123\b456"
  25. 12456
  26. ## 显示命令执行结果
  27. [root@gkdaxue ~]# echo `date`
  28. 2021 03 30 星期二 14:40:58 EDT

注意事项

  1. ## 单引号和双引号的区别
  2. [root@gkdaxue ~]# echo "$PWD"
  3. /root
  4. [root@gkdaxue ~]# echo '$PWD'
  5. $PWD
  6. ## 转义符号的使用, 如果我定义了一个变量,我有 $5,
  7. [root@gkdaxue ~]# PRICE=5
  8. ## 我要输出我有 $5, 结果变成了如下所示
  9. [root@gkdaxue ~]# echo "I have $$PRICE"
  10. I have 2449PRICE
  11. ## 这个时候我们就可以使用转义来做
  12. [root@gkdaxue ~]# echo "I have \$$PRICE"
  13. I have $5

其他用法

  1. ## 1. 直接把内容写入到一个文件中
  2. [root@gkdaxue ~]# echo 'hello world' > test.txt
  3. [root@gkdaxue ~]# cat test.txt
  4. hello world
  5. [root@gkdaxue ~]# echo '' > test.txt
  6. [root@gkdaxue ~]# cat test.txt
  7. [root@gkdaxue ~]#

输出带颜色的内容

  1. 首先要知道在linux中,一些常用的颜色代码:(这些颜色是ANSI标准颜色)
  2. 前景色:30 31 32绿 33 34 35 36 37
  3. 背景色: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"

image.png

字背景颜色 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"

image.png