这些特殊字符在Perl中是如何工作的?
在bash中似乎不起作用:这些特殊字符在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 从两个
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"