免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5465 | 回复: 7

[无为整理教程, txt, 4KB]bash转义序列笔记 [复制链接]

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
发表于 2011-05-14 09:42 |显示全部楼层
本帖最后由 惟吾无为 于 2011-05-14 13:01 编辑

本教程由 惟吾无为 搜集整理. 序列后面的批语是基于本人的学习机(下文的小机)终端来说的.
今抛砖于此, 望有玉石相应(挺划算的^_^, 玉还是比较贵的...).
文本下载, 3.85KB, txt : http://www.uudisc.com/user/vuuvsoft/file/4063312


转义是引用单字符的方法.在单个字符前面的转义符(\ 倒斜杠)告诉shell不必特殊解释这个字符,只把它当成字面上的意思.

但在一些命令和软件包里,比如说echo和sed,转义一个字符可能会引起一个相反的效果--因为它们可能触发那个字符的特殊意思.  

---引自 abs



一些特殊的转义序列:
(以 help echo 的结果为蓝本, 添加部分别人的注释, 无为有修改)
\a        终端响铃(小机不支持...同 \x07, \07)
\b        退格, 光标左移一格.
\c        禁止行尾自动换行, 对echo有效, printf无效
\e        ESC转义序列(见下, 同\E, \033, \x1b; 就是ESC键按下的效果)
\f        换页(光标移到下一行的相同列)
\n        换行(光标移动下一行行首)
\r        回车(光标回到本行行首)
\t        制表符(TAB键按下的效果...)
\v        纵向制表符(同\f)
\x00        十六机制数的值(两位[0-9a-fA-F]的十六进制数).
\\        倒斜杠...
\000        八进制数的值(以数字开头, 限最多3位[0-7]的数字)

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[32;47m\] )

       (无为注: 当然, 你也可以用命令替换来显示时间日期: PS1="$(date +%x-%X)")
     

( 以下内容来自 man console_codes 的结果, 翻译有修改, 并删除部分无法在小机使用的序列. )
ESC 转义序列:

        c        重置终端.
        D        换页(纵向制表符).
        E        换行.
        H        设置当前列为制表位. (未验证)
        M        翻转换行, 向上换页(Reverse linefeed).
        7        存储当前状态(光标坐标, 属性).
        8        恢复上一次储存的设置
        [        (见下)
        #8        屏幕校准测试 - 以E填充屏幕.


        例: printf "\e#8"


ESC[ 转义序列:  
        A        光标上移指定行.
        B        光标下移指定行.
        C        光标右移指定列.  \e[3C 右移3列
        D        光标左移指定列.
        G        光标移动到当前行的指定列.
        H        光标移动到指定行和列(行列起始计数为1, tput cup 的起始计数为0).  
         \e[y;xH y=3; x=5 第三行第五列.
        J        删除内容(默认从当前光标处到结尾).
         \e[1J:        删除从开始到光标处的内容.
         \e[2J:        清空整个屏幕.
        K        删除行(默认从当前光标处到行尾).
         \e[1K:        删除从行首到当前光标处的内容.
         \e[2K:        删除整行.
         
        d        光标移动到当前列指定行
        f        同\H.   
        h        设置模式(见下).
        l        重置模式(见下).
        m        设置属性(见下).
        n        状态报告(见下).
        r        设置滚动范围; 参数为首行和末行.(好像不能用...)
        s        存储光标位置.
        u        恢复光标位置.


设置图形属性:
        \e[ <属性数值> m 设置显示属性. 同样的序列可以设置一个或多个属性, 以 ";" 分开.
        
        特效代码:
        0 清除所有属性
        1 高亮(并加粗, 可惜小机没有加粗)
        2 暗色(以一般亮度显示, 小机不支持)
        4 下划线
        5 闪烁(小机闪烁频率太低, 无用)
        7 反显.
        8 消隐(一段字不显示, 小机不支持)

        22 正常亮度
        24 关闭下划线
        25 不闪烁
        27 不反显
         
        颜色代码前缀:
        3: 前景 9: 加亮前景
        4: 背景 10: 加亮背景
        颜色代码后缀(加亮效果):
        0 黑(深灰)
        1 红(亮红)
        2 绿(亮绿)
        3 棕(黄色)
        4 蓝(浅蓝)
        5 紫(淡紫)(这个看不出来)
        6 青(亮青)
        7 浅灰(白)
        9 默认颜色(限3,4前缀)
         
       示例:        绿色前景, 亮青背景, 下划线. 0表示清除之前设置的所有属性.
        \e[0;32;106;4m
        打印一段内容后, 不要下划线了
        \e[24m
        又想反显了(就是绿色背景, 亮青前景)
        \e[7m
        那么, 怎么除去反显呢?


状态报告:
        \e[5n
        设备状态报告(DSR): 以\e[0n 应答(终端准备好).
        \e[6n
        光标位置报告(CPR): 以\e[y;xR 应答, 这里 x,y 指光标位置.


设置模式( 用l替换最后一个h就是重置模式 )
        \e[?5h        全屏反显.
        \e[?25h        显示终端光标

评分

参与人数 1可用积分 +10 收起 理由
expert1 + 10 赞一个!

查看全部评分

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
发表于 2011-05-14 09:48 |显示全部楼层
整理一下, 免得不知道的新手到处找.

论坛徽章:
0
发表于 2011-05-14 09:59 |显示全部楼层
Good job!

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-05-14 12:21 |显示全部楼层
收下

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
发表于 2011-05-14 13:02 |显示全部楼层
添加文本下载链...

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2011-05-14 16:45 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2012-02-09 16:50 |显示全部楼层
好文啊好文! 感谢LZ分享!!!

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
发表于 2012-02-09 17:01 |显示全部楼层
up .
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP