Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
Linux BASH着色和inputrc的神秘语法_Linux_Bash_Emacs - Fatal编程技术网

Linux BASH着色和inputrc的神秘语法

Linux BASH着色和inputrc的神秘语法,linux,bash,emacs,Linux,Bash,Emacs,我试图将一些击键序列映射到BASH中的命令,并利用/etc/inputrc进行序列映射。在上面的答案中: 用户“sth”表示“\e[Z”是Shift Tab的转义序列 如何查找这些转义序列?例如,Alt+S或Ctrl+S的序列是什么 我还注意到BASH echo着色中的这些序列。例如: echo -e "a \e[0;31m B \e[0m k" 将打印a(红色)B,在白色“a”和“k”之间。这是什么奥秘?“\e[0;31m”是什么意思?(显然是红色,但为什么不是“\e[red]”之类的东西

我试图将一些击键序列映射到BASH中的命令,并利用/etc/inputrc进行序列映射。在上面的答案中:

用户“sth”表示“\e[Z”是Shift Tab的转义序列

如何查找这些转义序列?例如,Alt+S或Ctrl+S的序列是什么

我还注意到BASH echo着色中的这些序列。例如:

echo -e "a \e[0;31m B \e[0m k"

将打印a(红色)B,在白色“a”和“k”之间。这是什么奥秘?“\e[0;31m”是什么意思?(显然是红色,但为什么不是“\e[red]”之类的东西?

要根据经验找到击键产生的效果,请运行
cat
,然后按键(可能需要先按
ctrl-v
,然后按键)

\e
是“转义”

剩下的是终端控制序列

请参阅
man terminfo
。请参阅
infocmp
的输出。请阅读有关此终端历史的信息


享受失去未来1到5年的生活,对这个世界感到非常恼火,并了解到互联网上的每个人(实际上)一直都在错误地对待这些东西。

要根据经验找到击键所产生的效果,请运行
cat
,然后按键(可能需要先点击
ctrl-v
,然后按键)

\e
是“转义”

剩下的是终端控制序列

请参阅
man terminfo
。请参阅
infocmp
的输出。请阅读有关此终端历史的信息


享受失去未来1到5年的生活,对这个世界感到非常恼火,并了解到互联网上的每个人(实际上)一直都在错误地对待这些东西。

要根据经验找到击键所产生的效果,请运行
cat
,然后按键(可能需要先点击
ctrl-v
,然后按键)

\e
是“转义”

剩下的是终端控制序列

请参阅
man terminfo
。请参阅
infocmp
的输出。请阅读有关此终端历史的信息


享受失去未来1到5年的生活,对这个世界感到非常恼火,并了解到互联网上的每个人(实际上)一直都在错误地对待这些东西。

要根据经验找到击键所产生的效果,请运行
cat
,然后按键(可能需要先点击
ctrl-v
,然后按键)

\e
是“转义”

剩下的是终端控制序列

请参阅
man terminfo
。请参阅
infocmp
的输出。请阅读有关此终端历史的信息


享受失去未来1到5年的生活,对这个世界感到非常恼火,并了解到互联网上的每个人(实际上)都在错误地对待这些东西。

这里有一个更好的实证工具:
while IFS=read-rsN1 c;do printf“%02X”“$c“完成
。这里有一些Linux/xterm信息:。这里还有一些:@rici谢谢。printf提供了不同的输出(对于转义序列比较来说不太直接有用,但仍然非常有用
printf'%q'
可能比
cat
更好)。printf参数中的前导引号有什么神奇之处?我知道我以前见过它,我只是想不起细节。参数的数字格式以引号或双引号开头的printf输出第二个字符的字符代码。(有文档记录:非字符串格式说明符的参数被视为C常量,但允许使用前导加号或减号,如果前导字符是单引号或双引号,则该值是以下字符的ASCII值。“@rici啊,是的,谢谢。是的,如果我费心去看一份最近足够多的手册页,而不是我当时有ssh连接的CentOS 5和6机器上的手册页,那么它就在文档中。=)这里有一个稍微好一点的经验工具:
while IFS=read-rsN1 c;do printf'%02X'”“$c“完成
。这里有一些Linux/xterm信息:。这里还有一些:@rici谢谢。printf提供了不同的输出(对于转义序列比较来说不太直接有用,但仍然非常有用
printf'%q'
可能比
cat
更好)。printf参数中的前导引号有什么神奇之处?我知道我以前见过它,我只是想不起细节。参数的数字格式以引号或双引号开头的printf输出第二个字符的字符代码。(有文档记录:非字符串格式说明符的参数被视为C常量,但允许使用前导加号或减号,如果前导字符是单引号或双引号,则该值是以下字符的ASCII值。“@rici啊,是的,谢谢。是的,如果我费心去看一份最近足够多的手册页,而不是我当时有ssh连接的CentOS 5和6机器上的手册页,那么它就在文档中。=)这里有一个稍微好一点的经验工具:
while IFS=read-rsN1 c;do printf'%02X'”“$c“完成
。这里有一些Linux/xterm信息:。这里还有一些:@rici谢谢。printf提供了不同的输出(对于转义序列比较来说不太直接有用,但仍然非常有用
printf'%q'
可能比
cat
更好)。printf参数中的前导引号有什么神奇之处?我知道我以前见过它,我只是想不起细节。参数的数字格式以引号或双引号开头的printf输出第二个字符的字符代码。(有文档记录:非字符串格式说明符的参数被视为C常量,但允许使用前导加号或减号,如果前导字符是单引号或双引号,则该值为以下ASCII值