Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 修改READLINE_行以包含ANSI代码_Bash_Readline - Fatal编程技术网

Bash 修改READLINE_行以包含ANSI代码

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

READLINE是一个特殊变量,可用于
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是一个“阅读”变量-只有“变量”。