非常好!!!---bash转义序列笔记---打印语句printf用法【转】
转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2318684&fromuid=23571134
本教程由 惟吾无为 搜集整理. 序列后面的批语是基于本人的学习机(下文的小机)终端来说的.
今抛砖于此, 望有玉石相应(挺划算的^_^, 玉还是比较贵的...).
文本下载, 3.85KB, txt : http://www.uudisc.com/user/vuuvsoft/file/4063312
转义是引用单字符的方法.在单个字符前面的转义符(\ 倒斜杠)告诉shell不必特殊解释这个字符,只把它当成字面上的意思.
但在一些命令和软件包里,比如说echo和sed,转义一个字符可能会引起一个相反的效果--因为它们可能触发那个字符的特殊意思.
---引自 abs
清屏函数 用转义序列. busybox的clear就是使用的转义序列: "\033[H""\033[J"
直接printf之. 一些特殊的转义序列:
(以 help echo 的结果为蓝本, 添加部分别人的注释, 无为有修改)
\a 终端响铃(小机不支持...同 \x07, \)
\b 退格, 光标左移一格.
\c 禁止行尾自动换行, 对echo有效, printf无效
\e ESC转义序列(见下, 同\E, \, \x1b; 就是ESC键按下的效果)
\f 换页(光标移到下一行的相同列)
\n 换行(光标移动下一行行首)
\r 回车(光标回到本行行首)
\t 制表符(TAB键按下的效果...)
\v 纵向制表符(同\f)
\x00 十六机制数的值(两位[-9a-fA-F]的十六进制数).
\\ 倒斜杠...
\ 八进制数的值(以数字开头, 限最多3位[-]的数字) PS 转义序列 (prompt symbol, bash提示符):
(出自 http://www.linuxselfhelp.com/how ... h-Prompt-HOWTO.html , 翻译有参考)
\a 响铃
\d 日期, 格式为 "Weekday Month Date", ("Tue May 26")
\e ESC转义序列.
\h 主机名的第一部分. (froms)
\H 完整主机名. (froms.vuuvsoft.com)
\n 换行
\r 回车
\s shell的名称. 根据路径获取. 如/usr/bin/bash --> "bash"
\t 时间, 格式 HH:MM:SS 24小时制. ("23:01:01")
\T 时间, 格式 HH:MM:SS 12小时制. ("11:01:01")
\@ 带有 am/pm 的 12小时制 时间
\u 用户名. ("root")
\v bash版本号 ("2.00")
\V bash版本号及补丁级别 ("2.00.0")
\w 当前工作目录完整路径 ("/home/froms")
\W 当前工作目录目录名 ("froms")
\! 当前命令在历史缓冲区中的位置
\# 命令编号(只要您键入内容,它就会在每次提示时累加)
\$ 如果你是root, 显示 "#"; 否则, "$".
\nnn 八进制数
\\ 倒斜杠
\[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前. 它使 bash 能够正确计算自动换行.
\] 这个序列应该出现在非打印字符序列之后. ( \[\e[;47m\] ) (无为注: 当然, 你也可以用命令替换来显示时间日期: PS1="$(date +%x-%X)") ( 以下内容来自 man console_codes 的结果, 翻译有修改, 并删除部分无法在小机使用的序列. )
ESC 转义序列:
c 重置终端.
D 换页(纵向制表符).
E 换行.
H 设置当前列为制表位. (未验证)
M 翻转换行, 向上换页(Reverse linefeed).
存储当前状态(光标坐标, 属性).
恢复上一次储存的设置
[ (见下)
# 屏幕校准测试 - 以E填充屏幕. 例: printf "\e#8" ESC[ 转义序列:
A 光标上移指定行.
B 光标下移指定行.
C 光标右移指定列. \e[3C 右移3列
D 光标左移指定列.
G 光标移动到当前行的指定列.
H 光标移动到指定行和列(行列起始计数为1, tput cup 的起始计数为0).
\e[y;xH y=; x= 第三行第五列.
J 删除内容(默认从当前光标处到结尾).
\e[1J: 删除从开始到光标处的内容.
\e[2J: 清空整个屏幕.
K 删除行(默认从当前光标处到行尾).
\e[1K: 删除从行首到当前光标处的内容.
\e[2K: 删除整行. d 光标移动到当前列指定行
f 同\H.
h 设置模式(见下).
l 重置模式(见下).
m 设置属性(见下).
n 状态报告(见下).
r 设置滚动范围; 参数为首行和末行.(好像不能用...)
s 存储光标位置.
u 恢复光标位置. 设置图形属性:
\e[ <属性数值> m 设置显示属性. 同样的序列可以设置一个或多个属性, 以 ";" 分开. 特效代码:
清除所有属性
高亮(并加粗, 可惜小机没有加粗)
暗色(以一般亮度显示, 小机不支持)
下划线
闪烁(小机闪烁频率太低, 无用)
反显.
消隐(一段字不显示, 小机不支持) 正常亮度
关闭下划线
不闪烁
不反显 颜色代码前缀:
: 前景 : 加亮前景
: 背景 : 加亮背景
颜色代码后缀(加亮效果):
黑(深灰)
红(亮红)
绿(亮绿)
棕(黄色)
蓝(浅蓝)
紫(淡紫)(这个看不出来)
青(亮青)
浅灰(白)
默认颜色(限3,4前缀) 示例: 绿色前景, 亮青背景, 下划线. 0表示清除之前设置的所有属性.
\e[;;;4m
打印一段内容后, 不要下划线了
\e[24m
又想反显了(就是绿色背景, 亮青前景)
\e[7m
那么, 怎么除去反显呢? 状态报告:
\e[5n
设备状态报告(DSR): 以\e[0n 应答(终端准备好).
\e[6n
光标位置报告(CPR): 以\e[y;xR 应答, 这里 x,y 指光标位置. 设置模式( 用l替换最后一个h就是重置模式 )
\e[?5h 全屏反显.
\e[?25h 显示终端光标
非常好!!!---bash转义序列笔记---打印语句printf用法【转】的更多相关文章
- Bash shell 笔记总结(一) 转自http://www.bubuko.com/infodetail-509992.html,谢谢原作者
本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变 ...
- bash编程之case语句,函数
bash脚本编程:之case语句 条件测试: 0: 成功 1-255: 失败 命令: [ expression ] [[ expression ]] test expression exP ...
- linux bash shell中case语句的实例
本文介绍下,在bash shell编程中,有关case语句的一个例子,学习下case语句的用法,有需要的朋友参考下. 本文转自:http://www.jbxue.com/article/13377.h ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- Lodop打印语句最基本结构介绍(什么是一个任务)
Lodop中最基本的打印过程至少有初始化语句.添内容语句和打印语句三部分组成,例如: LODOP.PRINT_INIT("打印任务名"); //首先一个初始化语句 LODOP.AD ...
- Lodop设置打印维护返回打印语句代码
打印设计关闭时,可以返回设计的打印代码,打印维护则返回成功打印的次数.不过打印维护也是返回打印程序代码的,方法就是加个语句,这个语句是: LODOP.SET_PRINT_MODE("PRIN ...
- 去除console.log()打印语句
打印语句:console.log() ,一句话描述它! “用的时候感觉贼爽,不用的时候脑袋痛吧?” 以下提供三种解决方案: 一. webpack打包时去除,适合Vue项目 二. vscode正则匹配, ...
- 笔记-sql语句
笔记-sql语句 1. sql语句基础 虽然经常使用sql语句,但没有一个整体式的文档,整理了一下. 1.1. select foundation: select <colnum ...
- idea中scala项目补全变量、添加打印语句的小技巧
1. 自动补全变量: new Person.var ,然后按回车键:效果:代码变成: val person: Person = new Person 2.添加打印语句: person.name.pr ...
随机推荐
- [回文树][BZOJ2160][国家集训队]拉拉队排练
题面 Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮 ...
- 9.3centos7安装python3 以及tab补全功能
1.安装python3 1.1下载python源码包 网址:https://www.python.org/downloads/release/python-362/ 下载地址:https://www. ...
- SpringMVC---springMVC配置文件(springweb.xml)简介
再web.xml中设置HTTP请求的中央调度处理器DispatcherServlet时,会指定SpringMVC配置文件,这里取名springweb.xml是因设置DispatcherServlet时 ...
- Spring---bean的实例化
Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean.而Spring IoC 容器则需要根据Bean定义里的配置元数据使用反射机制来创建Bean.在Sp ...
- 干货100+ 最超全的web开发工具和资源大集合
干货100+ 最超全的web开发工具和资源大集合 作为Web开发者,这是好的时代,也是坏的时代.Web开发技术也在不断变化.虽然很令人兴奋,但是这也意味着Web开发人员需要要积极主动的学习新技术和 ...
- 【Linear Regression】林轩田机器学习基石
这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...
- Java进制间的转换
最近学习了Java间的进制转换,记录下自己的学习心得,希望可以帮到前来查看的朋友们,如果有不懂的地方可以在下方评论留言,我们一起学习进步,只有自己足够强大才能弥补不足,多学习, 任意进制到十进制的转换 ...
- Box布局管理
创建wx.BoxSizer对象时可以指定布局方向: hbox = wx.BoxSizer(wx.HORIZONTAL) 设置为水平方向 hbox = wx.BoxSizer() 默认就是就是水平方向的 ...
- 计算机图形学 opengl版本 第三版------胡事民 第三章更多的绘图工具
opengl 计算机图形学 第三版 第二部分 第三章更多的绘图工具 3.1 概述 第2章中 我们绘图使用的是屏幕窗口的基础坐标系 以像素为单位 屏幕坐标从左下角x从0延伸到scr ...
- CentOS修改IP地址
一.CentOS 修改IP地址修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 电信 # vi /etc/syscon ...