Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
这些特殊字符在Perl中是如何工作的?_Perl_Bash_Terminal - Fatal编程技术网

这些特殊字符在Perl中是如何工作的?

这些特殊字符在Perl中是如何工作的?,perl,bash,terminal,Perl,Bash,Terminal,在bash中似乎不起作用: print "\e[4m", $prompt, "\e[24m", "\e[1m"; “\e”指电子稳定控制系统,用于电子稳定控制系统和类似系统。Perl理解字符串中的字符,并将其解释为ESC字符(也可以写成“\33”或“\x1b”) 要将ESC与一起使用,请提供-e选项,使这些转义能够被处理: [root@dev-test ~]$ echo "\e[4mhello world\e[24m\e[1m" \e[4mhello world\e[24m\e[1m 从两个

在bash中似乎不起作用:

print "\e[4m", $prompt, "\e[24m", "\e[1m";
“\e”指电子稳定控制系统,用于电子稳定控制系统和类似系统。Perl理解字符串中的字符,并将其解释为ESC字符(也可以写成“\33”或“\x1b”)

要将ESC与一起使用,请提供
-e
选项,使这些转义能够被处理:

[root@dev-test ~]$ echo "\e[4mhello world\e[24m\e[1m"
\e[4mhello world\e[24m\e[1m
从两个字符“\e”到单个ESC字符(值为0x1B)的转换由
echo
本身(使用
-e
)完成——shell不处理引号中出现的转义。上面的
echo
链接还包括此类用法的示例


愉快的编码。

所以所有的终端都是VT100终端???@new_perl:几乎所有的终端都模拟VT100,有没有扩展。有关更多信息,请参见
man terminfo
echo -e "\e[4mhello world\e[24m\e[1m"