位置: 编程技术 - 正文

深入理解Shell输出颜色与控制(如何理解shell)

编辑:rootadmin

推荐整理分享深入理解Shell输出颜色与控制(如何理解shell),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell基础知识,shell怎么理解,shell csdn,shell的认识,shell ui,shell中输入,shell的理解,shell基础知识,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

大家都知道使用ls命令列出文件列表时,不同的文件类型会用不同的颜色显示。那么如何实现这样带颜色的文本输出呢?答案并不复杂,不管是用shell还是C语言。

一、shell下的实现方法

先来讲在shell下,如何实现。用echo命令就可以实现,参看以下例子:

当你在终端里敲下这条命令后,是不是发现系统用绿色输出了"Hello,world!",不止如此,连之后的命令提示符都变成了绿色?不要着急,听我继续说。echo命令-e选项的作用是激活终端对反斜线转义符(即)的解释。引号内用于引导非常规字符序列,在这里的作用就是引导设置输出属性,后边的[m就是将前景色设置为绿色,字母m表示设置的属性类别,数字代表属性值。

设置可以单独使用,例如:

这行命令的作用是恢复属性为默认值,也就是说0m设置项用于恢复默认值。现在你的终端是不是又一切正常了?

理解了这些,剩下的就简单了。用这种命令,除了设置文本前景色,还可以设置很多属性。

下边列出其他的设置项:

各数字所代表的颜色如下:

字背景颜色范围:----

:黑

:深红

:绿

:黄色

:蓝色

:紫色

:深绿

深入理解Shell输出颜色与控制(如何理解shell)

:白色

字颜色:-----------

:黑

:红

:绿

:黄

:蓝色

:紫色

:深绿

:白色

另外,同类的多种设置项可以组合在一起,中间用分号(;)隔开。

如下:

这行命令首先[;1H将光标移动到终端第行第1列,之后的[1;4;m将文本属性设置为高亮、带下划线且颜色为绿色,然后输出Hello,world;最后[0m将终端属性恢复为默认值,这样就不会看到连命令完成后的命令提示符也变了样儿了。

通过以上各种命令的组合就可以实现对终端输出地复杂控制。

二、如何在C编程中实现?

理解了以上在Shell中的实现方法,关于在C中如何实现就很简单了。可以说只需要用printf函数代替上边的echo -e就OK了参见下例:

这个例子类似上边shell中最后那个例子,只是这里颜色值通过变量color来指定(当然,也可以直接指定)。

三、联想

看到这里你可能会想,是不是在其他编程语言里也可以用类似的方法实现对终端输出的控制呢?答案是肯定的!比如在python中,可以如下输出:

这个例子的效果跟上边C的例子是相同的。

总结

标签: 如何理解shell

本文链接地址:https://www.jiuchutong.com/biancheng/371506.html 转载请保留说明!

上一篇:shell(bash)下“time” 命令的输出详解

下一篇:一个简单的linux命令 mkdir(一个简单的灵魂)

  • 个税抵扣申报晚好了需要跟公司申报吗?
  • 车辆购置税的纳税义务发生时间为
  • 商贸企业辅导期是什么
  • 配建保障房税收规定
  • 如何成为一般纳税人的条件
  • 政府的慰问金一般有多少钱
  • 一般纳税人开劳务专票多少个点
  • 入股资金打进公司帐户要交税吗
  • 制作费开票属于什么科目
  • 金税盘怎样查询已开发票明细
  • 增值税主表填报说明
  • 贸易公司成本核算不准确的后果
  • 增值税的附加税率是多少
  • 新注册公司开银行卡流程
  • 短期借款利息都需要测算什么
  • 存货清查的目的,主要是进行总账和明细账
  • 工资薪酬所得税税率
  • 高原补贴算工资吗
  • 没有取得发票可以抵扣成本吗
  • 专利申请费用怎么做账
  • 增值税纳税表销售额的填写
  • 一般纳税人所得税率是多少
  • 职工福利费当年怎么扣
  • 金税盘不交费会停用吗
  • 更正申报以前个税的处理方法
  • 2019新版利润表填表说明
  • 吸收合并公司后的债务处理
  • 系统升级为win11
  • 运输发票备注规定
  • 子公司能享受母公司的优惠政策么
  • 发票金额大于报销金额违法吗
  • 行政事业单位预算由收入预算、支出预算组成
  • 截图快捷键ctrl+alt+
  • 政府划入资产会计处理
  • 房产权利转移
  • 其他应收款期末贷方余额表示什么
  • yolov1网络结构图详解
  • 溢缴退费是什么意思
  • php框架有哪些官网
  • 什么情况借钱
  • 微信小程序获取位置信息的权限在哪里修改位置
  • vue3 script setup withdefault
  • 本地存储localstorage没有拿到最新值
  • php面试基础题
  • 计提坏账准备会影响应收账款账面价值吗
  • 租金收入的所得税率
  • vue实现回车登录
  • 财政拨款结转累计结转为负
  • 外管证注销后发票还可以重开吗?
  • 住房租金专项附加扣除
  • 企业年金的功能代理人
  • db2 linux
  • 基本户和一般户可以互相转账吗
  • 增值税税务检查
  • 汇算清缴需要传票么
  • 哪些合同不用交社保
  • 其他税后扣减
  • 同花顺为什么有钱没法买
  • 盘亏和报废报损的区别
  • 财务费用范畴
  • 营改增题目
  • 个人到税务局开普票要交多少税
  • win7怎么打开后缀
  • xp 指定的域不存在,或无法联系
  • 怎么关闭windows更新提示
  • win7开机后一段时间卡死
  • linux常用命令清除
  • css设置最大高度
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
  • JavaScript的strict模式与with关键字介绍
  • javascript的描述
  • jquery选择器包含哪几大类
  • CLASS_CONFUSION JS混淆 全源码
  • 陕西省地方税务局公告2017年第2号
  • 公允价值变动损益属于什么科目
  • 国家税务局申报系统操作步骤说明在哪里看
  • 两江新区钓鱼地方
  • 80491232税务申报代码
  • 建筑施工劳务资质
  • 镇江市税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设