Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1408994
  • 博文数量: 430
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 4388
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-24 18:04
文章存档

2013年(1)

2008年(2)

2007年(14)

2006年(413)

分类:

2006-06-22 17:52:21

产生转义序列
注意,如果正在使用一个仿真器,要使光标不可见,这个操作可能会有问题。这是因为:
1) 一些仿真器并不捕获使光标不可见的控制字符。必须要求正在使用的软件仿真的制作
者修改源脚本以关闭光标。
2) tput civis命令的一些旧版本工作不正常。
关闭光标的控制字符是? 2 5 l(这是字母l),将之打开是?2 5 h。
所有控制字符均以一个转义序列开始。通常转义键后紧跟字符[。然后实际序列打开或关
闭某终端属性。
可以使用两种不同的方法产生转义序列。下面的列表依据用户系统列出两种方法。第三
种方法对于U N I X和L I N U X支持的变量均有效,因为控制序列嵌在e c h o语句中。本书将使用这
种方法。
要发送一转义序列以关闭光标:
 LINUX/BSD  echo -e "\033[?251"
 System V   echo "\033[?251"
 Generic method echo "[?251"


\ 0 3 3为转义键取值, \通知e c h o命令接下来是一个八进制值。例如要反馈一个@字符,键
入:
echo “@”或者e c h o - e“\ 1 0 0”
对于系统v ,使用
echo “\ 1 0 0”
结果是一样的。
命令c l e a r表示清屏并发送光标到屏幕左上角,此位置一般也称为h o m e。在一个V T终端范
围实现此功能所需序列为E S C I J,可以使用e c h o语句发送这一序列。
 System V  echo"\033[2J"
 Linux/BSD echo -e "\033[2J"
对于嵌入在文本中的任何控制字符,不要试图剪切和粘贴,因为这样会失去其特殊含义。

  

 

阅读(894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~