社区首页 >问答首页 >修改READLINE_LINE以包含ANSI码

修改READLINE_LINE以包含ANSI码
EN

Stack Overflow用户
提问于 2019-11-14 01:29:30
回答 1查看 39关注 0票数 0

READLINE_LINE是一个特殊变量,可用于bind -x读取行绑定中指定的命令。

我已经绑定了一些键来使用bind -x运行自定义函数。在一个函数中,我希望修改当前命令,并将其包装在红色的ANSI颜色代码中。例如:

代码语言:javascript
代码运行次数:0
复制
READLINE_LINE=$'\033[0;31m'"$READLINE_LINE"

无论我做了什么尝试,代码都会打印回终端。有没有办法在终端上打印红色?

EN

回答 1

Stack Overflow用户

发布于 2019-11-14 02:02:19

不知道你想做什么。这有帮助吗?

代码语言:javascript
代码运行次数:0
复制
#!/bin/bash
bar=$(echo '\033[0;31m'"$READLINE_LINE"\033[m)
echo "$bar"

但为什么不干脆:

代码语言:javascript
代码运行次数:0
复制
qux=foo
bar='\033[0;31m'"$qux"'\033[m'
echo "$bar"

注1:始终使用“reset to normal”sequence \033[m“结束颜色转义序列。

注2:我认为这是否最终成为颜色取决于终端,尽管大多数虚拟终端可以完美地处理数百种颜色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58848070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文