位置: 编程技术 - 正文

深入理解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(一个简单的灵魂)

  • 进项税额转出时点
  • 个人所得税年度汇算时间
  • 交通运输企业车辆折旧能加速扣除
  • 机器维修费属于变动成本吗
  • 税控盘减免税额转出会计分录
  • 公司报销生育津贴,孕期还需要去社保局备案吗
  • 当期允许抵扣的农产品进项税额
  • 投资损失怎么进行季度所得税申报
  • 代扣代缴增值税纳税义务发生时间
  • 简易计税项目的分包款为建筑服务劳务费,可以扣除吗
  • 收到跨境分红的会计处理怎么做?
  • 预收账款计入应纳税所得额
  • 银行收取的利息要交税吗
  • 增值税发票委托公司开具
  • 税控盘全额抵扣怎么做账
  • 网上申购发票怎么撤销
  • 资产负债表如何调平
  • 减免税额期末需要结转吗
  • 自然人税收管理扣缴端(原个税)申报实训
  • 长期股权投资稀释
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 应付账款暂估款的会计分录
  • 固定资产报废如何计算
  • php数组函数输出《咏雪》里有多少"片"字
  • php反序列化pop链
  • 怎样跳过windows开机更新
  • 结转损益和结转成本
  • 社保挂靠会计处理
  • 公司员工个税怎么交
  • php的数组函数
  • 增值税普通发票怎么开
  • 劳务公司账务处理办法
  • 公司向个人支付劳务费
  • avoid什么用法
  • 企业股权转让所得可以弥补亏损吗
  • 利润总额为负还交所得税吗
  • 筹建期间的开办费为什么不属于资产
  • 开发成本属于哪个会计准则
  • 31.JavaScript数组进阶,一网打尽数组操作函数slice、filter、map、reduce、some、every、find、splice
  • 命令行文本编辑
  • 银行手续费需要开发票吗
  • 房产税在企业所得税扣除内吗
  • 变更股东投资比例
  • 一般纳税人必须有办公地点吗
  • sqlserver强制转换为字符
  • 以摊余成本计量的债权投资与以公允价值计量且其变动
  • 哪些进项税额不得抵扣?
  • 软件属于哪种无形资产
  • 收员工伙食费会计分录
  • 利润表的税金及附加怎么得出来
  • 坏账准备需要计提增值税吗
  • 信用减值损失是什么项目
  • 小规模纳税人结转增值税的账务处理
  • 老板自己的钱给公司
  • 存货盘亏有哪些情况
  • 企业为什么要转移用工风险什么意思
  • 景区如何管理和服务
  • 跨年暂估成本会计分录
  • 固定资产计提折旧的会计科目
  • 以前年度调整要更正申报吗
  • mysql数据库innodb
  • SQLServer中SELECT语句的执行顺序
  • windows8crazy error
  • centos怎么设置
  • centos怎么扩容
  • ubuntu20.04配置
  • linux 解析
  • Mac怎么连接扫描仪
  • linux !!
  • 创建一个css文件
  • perl -p -i
  • win10安装python2.7
  • python连接mq
  • javascriptz
  • java script教程
  • javascript获取html元素的方法
  • 耕地建仓库属于违规
  • 残疾人就业有哪些选择
  • 分红太多
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设