一个程序需要有0个或以上的输入,一个或更多输出

一、echo语法

1、功能:将内容输出到默认显示设备。

echo命令功能在显示器上显示一段文字,一般提到提示的作用

2、语法:echo[-ne][字符串]

补充说明:echo会将输入的字符串送往标准输出,输出的字符串以空白字符隔开,并在最后加上换行号。

命令选项:

-n:不在最后自动换行:

  1. [root@localhost ~]# echo "hello world"
  2. hello world
  3. [root@localhost ~]# echo -n "hello world"
  4. hello world[root@localhost ~]#
  1. [root@localhost ~]# echo -n "Login: ";read
  2. Login: aaa
  3. [root@localhost ~]# echo -n "date: ";date +%F
  4. date: 2021-07-03

-e:若字符串出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

转义字符:

\a:发出警告声

\b:删除前一个字符

\c:最后不加上换行符

\f:换行但光标仍旧停留在原来的位置

\n:换行且光标移至行首

\r:光标移至行首,但不换行

\t:插入tab

\v与\f相同

\插入\字符

\nnn插入nnn(八进制)所代表的ASCII字符

-help显示帮助-version显示版本信息

  1. [root@localhost ~]# echo -e "\t\t\t\a哈哈\n响了aa\ba"
  2. 哈哈
  3. 响了aa
  1. [root@localhost test20210720]# vi time.sh

  2. #!/bin/bash
  3. #倒数计时脚本
  4. for time in 'seq 9 -1 0';do
  5. echo -n -e "\b$time"
  6. sleep 1
  7. done
  8.  
  9. ech

二、颜色代码

1、概念:

脚本中echo显示内容带颜色显示,需要使用-e

2、格式说明:

格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"

例如:

  1. [root@localhost ~]# echo -e "\033[41;36m something here \033[0m" #
  2. something here

(1)字背景颜色和文字颜色之间是英文的

(2)文字颜色后面有个m

(3)字符串前后可以没有空格,如果有的话,输出也是同研发的空格

3、字背景颜色范围:40 - 49

40:黑
41:深红
42:绿
43:×××
44:蓝色
45:紫色
46:深绿
47:白色

代码如下:

  1. echo -e "\033[40;37m 黑底白字 \033[0m"
  2. echo -e "\033[41;37m 红底白字 \033[0m"
  3. echo -e "\033[42;37m 绿底白字 \033[0m"
  4. echo -e "\033[43;37m 黄底白字 \033[0m"
  5. echo -e "\033[44;37m 蓝底白字 \033[0m"
  6. echo -e "\033[45;37m 紫底白字 \033[0m"
  7. echo -e "\033[46;37m 天蓝底白字 \033[0m"
  8. echo -e "\033[47;30m 白底黑字 \033[0m"

注:可以把所有的033换为E;所实现的效果是一样的

例:

  1. echo -e "\033[40;37m 黑底白字 \033[0m"
  2. echo -e "\E[40;37m 黑底白字 \E[0m"

4、字颜色:30 - 39

30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色

代码如下:

  1. echo -e "\033[47;30m 白底黑字 \033[0m"
  2. echo -e "\033[31m 红色字 \033[0m"
  3. echo -e "\033[32m 绿色字 \033[0m"
  4. echo -e "\033[33m 橙色字 \033[0m"
  5. echo -e "\033[34m 蓝色字 \033[0m"
  6. echo -e "\033[35m 紫色字 \033[0m"
  7. echo -e "\033[36m 天蓝字 \033[0m"
  8. 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 显示光标

例如:

让字体变为红色并且不停的闪烁

  1. echo -e "\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m"

shell脚本(3)-格式化输出的更多相关文章

  1. shell脚本按当前日期输出日志

    shell脚本基本技能是设置变量,输出信息.如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash t ...

  2. Java实践-远程调用Shell脚本并获取输出信息

    1.添加依赖 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-s ...

  3. shell脚本监控Flume输出到HDFS上文件合法性

    在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩 ...

  4. Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出

    http://blog.csdn.net/gyanp/article/details/7903056 1) 格式调整有以下参数 set echo on/off                     ...

  5. Shell脚本——cat/EOF输出多行

    在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...

  6. shell 除法和格式化输出printf

    相关知识的补充: printf命令模仿C程序库里的printf()程序.printf由POSIX标准所定义,因此使用printf的脚本比使用echo有着更好的移植性. printf使用引用文本或者空格 ...

  7. shell脚本--输入与输出

    输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh ...

  8. Shell脚本关于屏幕输出的字符进行颜色控制的问题

    文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...

  9. 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 ...

随机推荐

  1. RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比

    RCNN系列.Fast-RCNN.Faster-RCNN.R-FCN检测模型对比 一.RCNN 问题一:速度 经典的目标检测算法使用滑动窗法依次判断所有可能的区域.本文则预先提取一系列较可能是物体的候 ...

  2. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  3. PyTorch中的MIT ADE20K数据集的语义分割

    PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semant ...

  4. seldom 1.0 发布

    seldom 是我几个月前重启的Web UI 自动化开源项目,源项目名 pyse, 基于 unittest 和 selenium 的自动化测试框架. seldom 1.0 做为第一个正式版做了以下改进 ...

  5. Spring Bean 的生命周期总结

    除了使用阶段外,Spring 将 bean 的生命周期定义为实例化.属性填充.初始化和销毁四个阶段,并为每个阶段提供了多个拓展点用于自定义 bean 的创建过程.这篇文章介绍了 bean 的生命周期和 ...

  6. SpringCloud(1)生态与简绍

    一:微服务架构简绍学习目标 1.技术架构的演变,怎么一步步到微服务的:2.什么是微服务,优点与缺点  :3.SOA(面向服务)与MicroServices(微服务)的区别 :4.Dubbo 与Spri ...

  7. 【linux】驱动-13-阻塞与非阻塞

    目录 前言 13. 阻塞与非阻塞 13.1 阻塞与非阻塞 13.2 休眠与唤醒 13.2.1 内核休眠函数 13.2.2 内核唤醒函数 13.3 等待队列(阻塞) 13.3.1 定义等待队列头部 13 ...

  8. sentinel (史上最全+入门教程)

    文章很长,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈 为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 < Java 高并发 三部曲 > 面试必备 + 大厂 ...

  9. Pandas高级教程之:处理text数据

    目录 简介 创建text的DF String 的方法 columns的String操作 分割和替换String String的连接 使用 .str来index extract extractall c ...

  10. Linux命令大全之挂载命令

    理解:Linux挂载相当于Windows分配盘符 1.查询系统中已挂载的设备 mount 2.设置自动挂载 编辑文件/etc/fstab,把文件写入就可以启动自动挂载了, 注:一般不把光盘写入,如果写 ...