当人们提及 "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 编程的极好方式~
来源: http://www.jianshu.com/p/efb1b00b7947