Shell格式化输出
2021年4月9日
一个程序需要有 0 个或以上输入,1 个或以上输出。
echo 命令介绍
功能:将内容输出到默认显示设备。
echo
命令的功能是在显示器上显示一段文件,一般起到一个提示的作用。
命令格式如下:
[root@localhost ~]# echo [选项] [字符串]
选项:
-n:不要在最后换行
-e:若字符串中出 现以下转义字符,则特别加以处理,而不会将它当成一般字符串输出。
转义字符:
\a :发出警告声;
\b :删除前一个字符;
\c :最后不加上换行;
\f :换行但光标仍旧停留在原来的位置;
\n :换行且光标移至行首;
\t :插入制表符tab;
\v :与 \f 相同;
\\ :插入 \字符;
\nnn:插入 nnn(八进制)所代表的ASCII字符;
补充说明:echo会将输入的字符串送往标准输出。输出的字符串以空白字符隔开,并在最后加上换行号。
举例说明:输出一个菜单
[root@localhost ~]# cat fruits_shop.sh
#!/bin/bash
#Author: Admin
#created Time: 2021/02/03 16:25
#Script Description: shpo view script
ehco -e "\t\t\tFruits Shop"
echo -e "\t1) Apple"
echo -e "\t2) Orange"
echo -e "\t3) Banana\n"
执行脚本输出如下:
[root@localhost ~]# bash fruits_shop.sh
Fruits Shop
1) Apple
2) Orange
3) Banana
颜色代码
脚本中 echo
显示内容带颜色,echo
显示背景带颜色,需要使用参数 -e
格式如下:
[root@localhost ~]# echo -e "\033[字背景颜色;字体颜色m字符串\033[特效m"
例如:
[root@localhost ~]# echo -e "\033[41;34msomething here\033[0m"
说明:其中41的位置代表背景色,34的位置是代表字体颜色,0的位置代表效果
a. 背景颜色和字体颜色之间是英文的分号";"
b. 字体颜色后面有个m
c. 字符串前后没有空格,如果有的话,输出也是同样有空格
下面是相应的字体和背景颜色,可以自己来尝试搭配
- 字体颜色: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"
- 输出效果格式控制:
\033[0m 关闭所有效果属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[37m 设置背景色
- 光标位置相关格式控制:
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH 设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标