- 当人们提及”print大法好”的时候, 你可以和他们聊一聊echo
- 在”世界上最好的语言”PHP中, 也使用了
echo
作为负责打印的函数, 但这次我们要介绍的是Linux shell终端里面的echo
- 当然, shell中的echo要比php的要更强大一些
实用技巧: echo简化操作
当我们编写脚本, 或者写一些”新手教学”的时候, 经常会用到更改配置文件的情况, 比如在centos7中更换docker国内镜像源, 传统的做法是, 备份旧文件, 然后,vi打开
/etc/docker/daemon.json
, 输入{"registry-mirrors": ["https://registry.docker-cn.com"]}
如果善用echo,我们可以一行命令搞定
echo {"registry-mirrors": ["https://registry.docker-cn.com"]} > /etc/docker/daemon.json
终端可以是丰富多彩的
祭出一张htop的软件界面
echo可实现彩色终端的效果
\e[0m
将颜色重新置回- 自从使用了linux, 才了解到原来命令行是可以丰富多彩的, 开始或许会感觉很神秘, 事实上, 实现起来并不难, 你只需了解echo的三个参数, 就可以完成大多数的需求, 如上图, 第一个参数可以控制文字的格式(加粗, 下划线, 闪动, 浅色, 反白), 第二个参数可以控制文字的颜色(黑, 红, 绿, 黄, 蓝, 洋红, 青, 白), 第三个参数可以控制文字的背景色(黑, 红, 绿, 黄, 蓝, 洋红, 青, 白), 下面我们来演示这三个参数的使用~
改变输出文字的颜色
echo -e "\e[0;30m 这是黑色 \e[0m"echo -e "\e[0;31m 这是红色 \e[0m"echo -e "\e[0;32m 这是绿色 \e[0m"echo -e "\e[0;33m 这是黄色 \e[0m"echo -e "\e[0;34m 这是蓝色 \e[0m"echo -e "\e[0;35m 这是洋红色 \e[0m"echo -e "\e[0;36m 这是青色 \e[0m"echo -e "\e[0;37m 这是白色 \e[0m"
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
改变输出文字的格式
# 反白echo -e "\e[7;30m 这是黑色 \e[0m"echo -e "\e[7;31m 这是红色 \e[0m"echo -e "\e[7;32m 这是绿色 \e[0m"echo -e "\e[7;33m 这是黄色 \e[0m"echo -e "\e[7;34m 这是蓝色 \e[0m"echo -e "\e[7;35m 这是洋红色 \e[0m"echo -e "\e[7;36m 这是青色 \e[0m"echo -e "\e[7;37m 这是白色 \e[0m"# 跳动echo -e "\e[5;30m 这是黑色 \e[0m"echo -e "\e[5;31m 这是红色 \e[0m"echo -e "\e[5;32m 这是绿色 \e[0m"echo -e "\e[5;33m 这是黄色 \e[0m"echo -e "\e[5;34m 这是蓝色 \e[0m"echo -e "\e[5;35m 这是洋红色 \e[0m"echo -e "\e[5;36m 这是青色 \e[0m"echo -e "\e[5;37m 这是白色 \e[0m"# 下划横线echo -e "\e[4;30m 这是黑色 \e[0m"echo -e "\e[4;31m 这是红色 \e[0m"echo -e "\e[4;32m 这是绿色 \e[0m"echo -e "\e[4;33m 这是黄色 \e[0m"echo -e "\e[4;34m 这是蓝色 \e[0m"echo -e "\e[4;35m 这是洋红色 \e[0m"echo -e "\e[4;36m 这是青色 \e[0m"echo -e "\e[4;37m 这是白色 \e[0m"# 浅色echo -e "\e[2;30m 这是黑色 \e[0m"echo -e "\e[2;31m 这是红色 \e[0m"echo -e "\e[2;32m 这是绿色 \e[0m"echo -e "\e[2;33m 这是黄色 \e[0m"echo -e "\e[2;34m 这是蓝色 \e[0m"echo -e "\e[2;35m 这是洋红色 \e[0m"echo -e "\e[2;36m 这是青色 \e[0m"echo -e "\e[2;37m 这是白色 \e[0m"# 加粗echo -e "\e[1;30m 这是黑色 \e[0m"echo -e "\e[1;31m 这是红色 \e[0m"echo -e "\e[1;32m 这是绿色 \e[0m"echo -e "\e[1;33m 这是黄色 \e[0m"echo -e "\e[1;34m 这是蓝色 \e[0m"echo -e "\e[1;35m 这是洋红色 \e[0m"echo -e "\e[1;36m 这是青色 \e[0m"echo -e "\e[1;37m 这是白色 \e[0m"# 正常输出echo -e "\e[0;30m 这是黑色 \e[0m"echo -e "\e[0;31m 这是红色 \e[0m"echo -e "\e[0;32m 这是绿色 \e[0m"echo -e "\e[0;33m 这是黄色 \e[0m"echo -e "\e[0;34m 这是蓝色 \e[0m"echo -e "\e[0;35m 这是洋红色 \e[0m"echo -e "\e[0;36m 这是青色 \e[0m"echo -e "\e[0;37m 这是白色 \e[0m"
改变输出文字的背景
# 改变背景色echo -e "\e[0;37;40m 黑色背景 \e[0m"echo -e "\e[0;37;41m 红色背景 \e[0m"echo -e "\e[0;37;42m 绿色背景 \e[0m"echo -e "\e[0;37;43m 黄色背景 \e[0m"echo -e "\e[0;37;44m 蓝色背景 \e[0m"echo -e "\e[0;37;45m 洋红背景 \e[0m"echo -e "\e[0;37;46m 青色背景 \e[0m"echo -e "\e[0;37;47m 白色背景 \e[0m"
其他技巧
- 输出不换行的文字
echo -n
参考材料:
- http://www.pixelbeat.org/docs/terminal_colours/
- https://blog.csdn.net/sanbingyutuoniao123/article/details/72597274
小结:
好玩才是最重要的, echo是一个简单而好玩的命令, 如果你对shell编程感兴趣, echo或许是入门shell编程的极好方式~
自从使用了linux, 才了解到原来命令行是可以丰富多彩的,