当前位置:  开发笔记 > 编程语言 > 正文

将转义的彩色字符打印为bash

如何解决《将转义的彩色字符打印为bash》经验,为你挑选了1个好方法。

我正在使用C中的readline库在bash中创建类似bash的提示.当我试图做出及时丰富多彩,有喜欢的颜色序列这些,着色的伟大工程,但光标间距搞砸.输入过早地缠绕,并且环绕到同一行,因此它开始覆盖提示.我以为我应该逃避颜色序列\[\]喜欢

readline("\[\e[1;31m$\e[0m\] ")

但是打印方括号,如果我逃避反斜杠,它也打印出来.如何转义颜色代码以便光标仍然有效?



1> Mark Plotnic..:

告诉readline一个提示字符串中的字符序列在输出到屏幕时实际上不会移动光标的方法是用标记包围它RL_PROMPT_START_IGNORE(当前,这是readline的C头文件中的字符文字'\ 001')和RL_PROMPT_END_IGNORE(目前'\ 002').

正如@Joachim和@Alter所说,使用'\ 033'而不是'\ e'来实现可移植性.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有