linux中echo用法

echo 命令通常用来进行在终端上输出字符串或者变量提取后的值也可将要显示的内容输出到文本中

  1. echo hello world 就会直接在终端显示 hello world (echo “hello world” 显示相同)使用echo会自动换行如在脚本中#!/bin/bash echo hello world echo happy显示为
    hello world
    happy

  2. 若使用echo -n则不自动换行同样的上述代码#!/bin/bash echo -n hello wolrd echo -n happy将会显示
    hello worldhappy

  3. -E为禁止使用转义字符echo默认为-E

  4. 需要使用转义字符时使用echo -e使用-e参数时可以 处理转移字符若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
    \a 发出警告声
    \b 删除前一个字符
    \c 最后不加上换行符号
    \f 换行但光标仍旧停留在原来的位置
    \n 换行且光标移至行首
    \r 光标移至行首,但不换行
    \t 插入tab
    \v 与\f相同
    \ 插入\字符
    \nnn 插入nnn(八进制)所代表的ASCII字符

    echo -e还可以用来设置字体的字体颜色,背景颜色其工作原理为有一些控制字符被控制台终端读取时会影响文本的显示方式即终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。这些控制字符的通用格式如下:
    Esc[{attr1};…;{attrn}m
    1.转义序列以ESC开头该字符的ASCII码该字符的十进制为27,八进制表示为033这也是后面的/033由来还可以用/e代替
    2.多数转移序列高于两个字符通常以Esc[开头被称为控制序列引导符通常写为\033[或者\e[
    3.Esc[引导转义序列,{attr1};…{attrn} 是若干属性, 通常是由一个有特定意义的数字代替, 每个属性之间用分号分隔;m表示设置属性并结束转义序列
    通过转义字符设置输出字体颜色命令格式为
    echo -e "\033[字体背景颜色;字体颜色m字符串\033[0m"
    其中\033[0m是为了关闭前面的显示设置恢复默认的终端输出属性,否则会影响后续的输出。(注 意,转义序列可被控制字符’CAN’(Cancel )和’SUB’(Substitute)中断)
    例如echo -e "\033[40;34m hello world\033[0m" hello world为黑底蓝字

    其中40的位置代表底色,34的位置是代表字的颜色以下是 echo -e "\033[字体背景颜色;字体颜色m字符串\033[0m具体命令格式:
    \33[0m 关闭所有属性
    \33[1m 设置高亮度
    \33[4m 下划线
    \33[5m 闪烁
    \33[7m 反显
    \33[8m 消隐
    \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 显示光标
    设置字体颜色:30m-37m
    黑色: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"
    设置字体背景颜色:40m-47m
    黑色背景:echo -e "\033[40m 黑色底 \033[0m"
    红色背景:echo -e "\033[41m 红色底 \033[0m"
    绿色背景:echo -e "\033[42m 绿色底 \033[0m"
    黄色背景:echo -e "\033[43m 黄色底 \033[0m"
    蓝色背景:echo -e "\033[44m 蓝色底 \033[0m"
    紫色背景:echo -e "\033[45m 紫色底 \033[0m"
    天蓝背景:echo -e "\033[46m 天蓝底 \033[0m"
    白色背景:echo -e "\033[47m 白色底 \033[0m"

  5. 其中显示打印字体内容在第几行,第几列echo 使用‐e 选项后,在打印参数中可以指定 H,设置需要打印内容的 x,y 轴的定位坐标,可以直接使用echo ‐e "\033x;yH"xy为横纵坐标H后可接需要显示的字符;也可以设置字体颜色后然后设置需要打印内容的 x,y 轴:echo -e "\033[40;34m字符串\033[x;yH";附上一份进度条的代码

    #!/bin/bash
    while :
    do
    for i in seq 20
    do

             echo -e "\033[3;${i}H*"
             sleep 0.2
             echo -e "\033[40;34m$i\033[5;${i}H*"
             sleep 0.2
    done
     clear
     for i in {20..1}
     do
             echo -e "\033[3;${i}H*"
             sleep 0.2
             echo -e "\033[40;34m$i\033[5;${i}H*"
             sleep 0.1
     done
     clear
    

done
本文作者为夏雨滴荷竹,原文链接为 https://blog.csdn.net/qq_44929785/article/details/98248279
转载需著名原文链接,谢谢。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值