目录
一、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