Terminal
為什麼我在重定向流中看不到轉義序列或顏色輸出是如何實現的?
在終端中執行
ls
時,輸出有多種顏色:AFAIK 這種著色是通過 espace 序列(vt)完成的。
但執行
ls | hexdump -cC
只顯示字元和 LF。重定向到文件會導致類似的結果。那個怎麼樣?
GNU
ls
僅在寫入終端時輸出彩色文本的轉義序列,而不是在重定向到文件或管道時。為此,使用
ls --color=always
.GNU
ls
手冊說:Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. [...]
我猜你的
ls
命令在預設情況下表現得像ls --color=auto
,可能是通過使用ls
別名。