当前位置: 技术问答>linux和unix
Linux字符界面下,怎么控制已经打印出的字符啊?谢谢了!!
来源: 互联网 发布时间:2016-12-28
本文导语: Linux字符界面下,怎么控制已经打印出的字符啊? 在运行xx.sh的时候输出: Date is:----------- 然后随着时间变化在“-----------”处修改对应的时间输出: Date is:19:00 20.20 谢谢了!! | 使用ncurses 这个...
Linux字符界面下,怎么控制已经打印出的字符啊?
在运行xx.sh的时候输出:
Date is:-----------
然后随着时间变化在“-----------”处修改对应的时间输出:
Date is:19:00 20.20
谢谢了!!
在运行xx.sh的时候输出:
Date is:-----------
然后随着时间变化在“-----------”处修改对应的时间输出:
Date is:19:00 20.20
谢谢了!!
|
使用ncurses 这个库可以做到吧阿,自己去看一下
|
这种简单任务用不到ncurses
printf可以b表示退格。不过Linux下最好用转义序列,Linux终端实现了VT100兼容的转义序列:
http://www.termsys.demon.co.uk/vtansi.htm
Format就是用b回退的,清屏不是好方法,因为那样会把屏幕上原来别的命令的结果清掉,对用户是不友好的。
Windows的控制台下只能用b。
对于Linux控制台,功能要比Windows的强大得多,支持VT100字符转义序列。
你可能要用到的:
光标向前移动 ^[{COUNT}C
保存光标位置 ^[s
还原光标位置 ^[u
清除到行首 ^[K
清除当前行 ^[2K
注意这里^代表的ESC符,也就是33(八进制)或者x1b(十六进制)。
比如printf("33[{%d}D", back); 就代表光标向左移动back个字符。
printf可以b表示退格。不过Linux下最好用转义序列,Linux终端实现了VT100兼容的转义序列:
http://www.termsys.demon.co.uk/vtansi.htm
Format就是用b回退的,清屏不是好方法,因为那样会把屏幕上原来别的命令的结果清掉,对用户是不友好的。
Windows的控制台下只能用b。
对于Linux控制台,功能要比Windows的强大得多,支持VT100字符转义序列。
你可能要用到的:
光标向前移动 ^[{COUNT}C
保存光标位置 ^[s
还原光标位置 ^[u
清除到行首 ^[K
清除当前行 ^[2K
注意这里^代表的ESC符,也就是33(八进制)或者x1b(十六进制)。
比如printf("33[{%d}D", back); 就代表光标向左移动back个字符。
|
光标向右移动 ^[{COUNT}C
光标向左移动 ^[{COUNT}D
光标向左移动 ^[{COUNT}D
|
'b'曾经用过一次,但没有楼上研究的那么深,有机会也尝试一下。