shell脚本(3)-格式化输出
一个程序需要有0个或以上的输入,一个或更多输出
一、echo语法
1、功能:将内容输出到默认显示设备。
echo命令功能在显示器上显示一段文字,一般提到提示的作用
2、语法:echo[-ne][字符串]
补充说明:echo会将输入的字符串送往标准输出,输出的字符串以空白字符隔开,并在最后加上换行号。
命令选项:
-n:不在最后自动换行:
[root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo -n "hello world"
hello world[root@localhost ~]#
[root@localhost ~]# echo -n "Login: ";read
Login: aaa
[root@localhost ~]# echo -n "date: ";date +%F
date: 2021-07-03
-e:若字符串出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
转义字符:
\a:发出警告声
\b:删除前一个字符
\c:最后不加上换行符
\f:换行但光标仍旧停留在原来的位置
\n:换行且光标移至行首
\r:光标移至行首,但不换行
\t:插入tab
\v与\f相同
\插入\字符
\nnn插入nnn(八进制)所代表的ASCII字符
-help显示帮助-version显示版本信息
[root@localhost ~]# echo -e "\t\t\t\a哈哈\n响了aa\ba"
哈哈
响了aa
[root@localhost test20210720]# vi time.sh
#!/bin/bash
#倒数计时脚本
for time in 'seq 9 -1 0';do
echo -n -e "\b$time"
sleep 1
done ech
二、颜色代码
1、概念:
脚本中echo显示内容带颜色显示,需要使用-e
2、格式说明:
格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"
例如:
[root@localhost ~]# echo -e "\033[41;36m something here \033[0m" #
something here

(1)字背景颜色和文字颜色之间是英文的
(2)文字颜色后面有个m
(3)字符串前后可以没有空格,如果有的话,输出也是同研发的空格
3、字背景颜色范围:40 - 49
40:黑
41:深红
42:绿
43:×××
44:蓝色
45:紫色
46:深绿
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换为E;所实现的效果是一样的
例:
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\E[40;37m 黑底白字 \E[0m"

4、字颜色:30 - 39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
代码如下:
echo -e "\033[47;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"

5、ANSI控制码
\33[0m 关闭所有属性
\33[01m 设置高亮度
\33[04m 下划线
\33[05m 闪烁
\33[07m 反显
\33[08m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
例如:
让字体变为红色并且不停的闪烁
echo -e "\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m"

shell脚本(3)-格式化输出的更多相关文章
- shell脚本按当前日期输出日志
shell脚本基本技能是设置变量,输出信息.如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash t ...
- Java实践-远程调用Shell脚本并获取输出信息
1.添加依赖 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-s ...
- shell脚本监控Flume输出到HDFS上文件合法性
在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩 ...
- Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出
http://blog.csdn.net/gyanp/article/details/7903056 1) 格式调整有以下参数 set echo on/off ...
- Shell脚本——cat/EOF输出多行
在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...
- shell 除法和格式化输出printf
相关知识的补充: printf命令模仿C程序库里的printf()程序.printf由POSIX标准所定义,因此使用printf的脚本比使用echo有着更好的移植性. printf使用引用文本或者空格 ...
- shell脚本--输入与输出
输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh ...
- Shell脚本关于屏幕输出的字符进行颜色控制的问题
文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...
- Linux_simpl shell-利用Shell脚本for循环输出系统中的用户及其Shell
[root@localhost ~]# vim user.sh 1 #!/bin/bash 2 for i in `cut -d ":" -f1 /etc/passwd`; 3 d ...
随机推荐
- 构建编译TVM方法
构建编译TVM方法 本文提供如何在各种系统上构建和安装TVM包的说明.它包括两个步骤: 1. 首先从C代码构建共享库( libtvm.so for linux, libtvm.dylib fo ...
- Mobileye独创性创新
Mobileye独创性创新 尽管存在相似之处,但Nvidia的SFF无法与Mobileye的RSS相匹配,后者是领先的AV安全模型 迈向无人驾驶的未来,Mobileye继续以新的创新引领行业,不仅将使 ...
- 深度人脸识别:CVPR2020论文要点
深度人脸识别:CVPR2020论文要点 Towards Universal Representation Learning for Deep Face Recognition 论文链接:https:/ ...
- 国内操作系统OS分析(下)
国内操作系统OS分析(下) 3.2 Android/iOS移动互联网时代 Android是一种基于Linux的自由及开放源代码的操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google公司和 ...
- MySQL笔记03(黑马)
今日内容 DQL:查询语句 排序查询 聚合函数 分组查询 分页查询 约束 多表之间的关系 范式 数据库的备份和还原 DQL:查询语句 排序查询 语法:order by 子句 order by 排序字段 ...
- 由一次PasswordBox密码绑定引发的疑问 ---> WPF中的附加属性的定义,以及使用。
1,前几天学习一个项目的时候,遇到了PasswordBox这个控件,由于这个控件的Password属性,不是依赖属性,所以不能和ViewModel层进行数据绑定. 2,但是要实现前后端彻底的分离,就需 ...
- npm ERR! Unexpected end of JSON input while parsing near '...'解决方法
npm install时出现npm err! Unexpected end of JSON input while parsing near'...'错误 输入 npm cache clean -- ...
- Redmine部署中遇到的问题
Redmine部署文章: 第一篇:Redmine部署 第二篇:Redmine部署中遇到的问题 上一篇文章我写了Redmine怎样部署(点这里直达上一篇文章),这一篇就写一下在Redmine部署中遇到过 ...
- Unity3D-UI--Layout组件
Layout组件 自动排版 Layout Group Vertical Layout Group 垂直布局 [垂直布局组]组件将其子布局元素彼此重叠.它们的高度由各自的最小高度,首选高度和柔性高度决定 ...
- Vue前端基础学习
vue-cli vue-cli 官方提供的一个脚手架(预先定义好的目录结构及基础代码,咱们在创建Maven项目的时可以选择创建一个骨架项目,这个骨架项目就是脚手架),用于快速生成一个vue项目模板 主 ...