Osx
ls 命令的 less 中沒有彩色輸出
如果我執行,
ls
我會得到彩色輸出,我發現它非常方便快速瀏覽文件類型。當我嘗試用管道將它與和標誌less
連在一起時,顏色總是會失去。我使用的是5.0.7 版。有任何想法嗎?謝謝。-r``-R``zsh
編輯:我在 OS X 上。
這是設計使然:產生彩色輸出的程序通常僅在其輸出到終端時才這樣做,而不是在將其發送到管道或正常文件時。原因是終端上發送的數據可能是由人讀取的,而通過管道傳輸到程序或寫入文件的數據可能會被某些程序解析,因此它不應該包含像變色轉義序列這樣的無關內容.
當您傳遞選項(或)時, GNU
ls
在終端上顯示彩色輸出。無論標準輸出的文件類型如何,要強制彩色輸出,請傳遞或(它們是同義詞)。其他命令也遵循此約定,例如 GNU grep、FreeBSD grep等。--color``--color=auto``--color=always``--color=yes``git diff
ls --colors=yes -l | less
使用 FreeBSD 版本
ls
(也可以在 OSX 上找到,並且可作為colorls
OpenBSD 和 NetBSD 上的埠),傳遞選項-G
以在輸出為終端時顯示顏色。CLICOLOR_FORCE
無論輸出文件類型如何,都將環境設置為顯示顏色。CLICOLOR_FORCE=1 ls -l | less