2
print "\e[4m", $prompt, "\e[24m", "\e[1m";
似乎並不在bash工作:這些特殊字符在Perl中如何工作?
[[email protected] ~]$ echo "\e[4mhello world\e[24m\e[1m"
\e[4mhello world\e[24m\e[1m
print "\e[4m", $prompt, "\e[24m", "\e[1m";
似乎並不在bash工作:這些特殊字符在Perl中如何工作?
[[email protected] ~]$ echo "\e[4mhello world\e[24m\e[1m"
\e[4mhello world\e[24m\e[1m
「\ E」 表示對ESC它用於VT100 escape sequences和類似。 Perl理解字符串中的"\e" escape sequence,並將其解釋爲ESC字符(它也可以寫成「\ 33」或「\ x1b」)。
要使用echo使用ESC,提供給被處理的-e
選項使這些轉義:
echo -e "\e[4mhello world\e[24m\e[1m"
變換從兩個字符「\ E」到單個ESC字符(具有值0x1B)由echo
本身完成(與-e
) - shell不處理顯示在引號中的轉義符。上面的echo
的鏈接還包括這種用法的例子。
快樂編碼。
所以所有的終端都是VT100終端? –
@new_perl:幾乎所有的人都在模仿VT100,有或沒有擴展。有關更多信息,請參見man terminfo。 –