目录
一、echo 输出
二、颜色代码
正文
一、echo 输出
Shell 的 echo 指令,用于字符串的输出
语法:echo string
echo 会将输入的字符串送往标准输出,输出的字符串之间以空白字符隔开,并在最后加上换行号
1.echo 显示普通字符串
echo 字符串,字符串可以不加双引号
MBC02FV3MZMD6P:J_shell j$ echo hello world
hello world
MBC02FV3MZMD6P:J_shell j$ echo "hello world"
hello world
2.知识点【1】命令选项
- -n 不要在最后自动换行
- -e 若字符串中出现如下转移字符,则按照转义字符的意思处理
MBC02FV3MZMD6P:J_shell j$ echo "hello world"
hello world
MBC02FV3MZMD6P:J_shell j$ echo -n "hello world"
hello worldMBC02FV3MZMD6P:J_shell j$
hello worldMBC02FV3MZMD6P:J_shell j$ echo -n "Login:";read
Login:ll
MBC02FV3MZMD6P:J_shell j$ echo -n "data:";date +%F
data:2021-11-30
MBC02FV3MZMD6P:J_shell j$
先熟悉下面的转移字符的意思
知识点:转义字符
- \a 发出警告声
- \b 删除前一个字符
- \c 最后不加上换行符号
- \t tab键, 制表符
- \n 换行且光标移至首行
3.echo 显示转义字符(结合-e)
\a 结合-e,发出喇叭声;不加-e就是字符串
MBC02FV3MZMD6P:J_shell j$ echo "\a\a\a"
\a\a\a
MBC02FV3MZMD6P:J_shell j$ echo -e "\a\a\a"
MBC02FV3MZMD6P:J_shell j$
\t 插入tab键
MBC02FV3MZMD6P:J_shell j$ echo -e "\t\t\t Title"
Title
MBC02FV3MZMD6P:J_shell j$
\b 删除前一个字符
MBC02FV3MZMD6P:J_shell j$ echo -e "bc\ba"
ba
MBC02FV3MZMD6P:J_shell j$
\c 回车不换行
MBC02FV3MZMD6P:J_shell j$ echo -e "bc\ba\c"
baMBC02FV3MZMD6P:J_shell j$
组合举个例子:
form_output.sh
#!/bin/bash
echo -e "\t\t\t\tMcDonald Shop"
echo -e "\t\t1) Chicken"
echo -e "\t\t2) Chips"
echo -e "\t\t3) Hamburger"
MBC02FV3MZMD6P:J_shell j$ bash form_output.sh
McDonald Shop
1) Chicken
2) Chips
3) Hamburger
MBC02FV3MZMD6P:J_shell j$ echo $?
0
MBC02FV3MZMD6P:J_shell j$
二、颜色代码
脚本中echo现实内容带颜色显示,echo显示带颜色,需要使用参数 -e
格式:
echo -e "\033[子背景颜色:文字颜色 字符串\033[0m"
举个例子:
echo -e "\033[41;36m hello world \033[0m"
- 41的位置:表示底色,后面是分号
- 36的位置:表示字的颜色
- 文件颜色后面要有个m
- 字符串前后可以没有空格,如果有的话,输出也是有空格
- 最后的0m的位置表示属性,0m是关闭所有属性
下面是带颜色输出的参考范围;
#!/bin/bash
#
#下面是字体输出颜色及终端格式控制
#字体色范围: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;30m 红底黑字 \033[0m"
echo -e "\033[42;34m 绿底蓝字 \033[0m"
echo -e "\033[43;34m 黄底蓝字 \033[0m"
echo -e "\033[44;30m 蓝底黑字 \033[0m"
echo -e "\033[45;30m 紫底黑字 \033[0m"
echo -e "\033[46;30m 天蓝底黑字 \033[0m"
echo -e "\033[47;34m 白底蓝字 \033[0m"
#控制选项说明
#\033[0m 关闭所有属性
#\033[1m 设置高亮度
#\033[4m 下划线
echo -e "\033[4;31m 下划线红字 \033[0m"
#闪烁
echo -e "\033[5;34m 红字在闪烁 \033[0m"
#反影
echo -e "\033[8m 消隐 \033[0m "
#\033[30m-\033[37m 设置前景色
#\033[40m-\033[47m 设置背景色
#\033[nA光标上移n行
#\033[nB光标下移n行
echo -e "\033[4A 光标上移4行 \033[0m"
#\033[nC光标右移n行
#\033[nD光标左移n行
#\033[y;xH设置光标位置
#\033[2J清屏
#\033[K清除从光标到行尾的内容
echo -e "\033[K 清除光标到行尾的内容 \033[0m"
#\033[s 保存光标位置
#\033[u 恢复光标位置
#\033[?25| 隐藏光标
#\033[?25h 显示光标
echo -e "\033[?25l 隐藏光标 \033[0m"
echo -e "\033[?25h 显示光标 \033[0m"
#下面的这个例子是字体不停的闪烁。
#!/bin/bash
#
a=30
b=41
while true
do
echo -e "\033[${a}m光辉女郎\033[0m"
echo -e "\033[${a}m的吗西亚\033[0m"
echo -e "\033[${a}m洛克萨斯\033[0m"
a=$(($(($a%7))+30))
b=$(($(($b%7))+40))
#每次让字体颜色在30-37转换
#每次让背景颜色在40-47转换
echo -e "\033[4A\033[0m"
done