Bash 修改READLINE_行以包含ANSI代码
READLINE是一个特殊变量,可用于Bash 修改READLINE_行以包含ANSI代码,bash,readline,Bash,Readline,READLINE是一个特殊变量,可用于bind-xREADLINE绑定中指定的命令 我已经绑定了一些键,以便使用bind-x运行自定义函数。在函数中,我想修改当前命令并将其包装为红色的ANSI颜色代码。例如: READLINE_LINE=$'\033[0;31m'"$READLINE_LINE" 无论我尝试了什么,代码都会按原样打印回终端。有没有办法在终端上打印红色?不知道你想做什么。 这有用吗 #!/bin/bash bar=$(echo '\033[0;31m'"$READLINE_LIN
bind-x
READLINE绑定中指定的命令
我已经绑定了一些键,以便使用bind-x
运行自定义函数。在函数中,我想修改当前命令并将其包装为红色的ANSI颜色代码。例如:
READLINE_LINE=$'\033[0;31m'"$READLINE_LINE"
无论我尝试了什么,代码都会按原样打印回终端。有没有办法在终端上打印红色?不知道你想做什么。 这有用吗
#!/bin/bash
bar=$(echo '\033[0;31m'"$READLINE_LINE"\033[m)
echo "$bar"
但为什么不仅仅是:
qux=foo
bar='\033[0;31m'"$qux"'\033[m'
echo "$bar"
注1:始终使用“重置为正常”序列关闭颜色转义序列\033[m
”
注2:我认为这是否作为颜色最终取决于终端,尽管大多数虚拟终端可以完美处理数百种颜色。我在问题中添加了一个介绍。READLINE\u LINE是一个特殊的bash变量。我对我的答案进行了编辑,这会让你上路吗?顺便说一句。READLINE\u LINE是一个“阅读”变量-只有“变量”。