Soru Daha az borulamadan sonra bashta renkler?


Dircolor'ları tanımladığım zaman hayat dolu ... renk.

Borularım ls vasitasiyla less etrafında kaydırmak için renkleri kaybediyorum.

Herhangi bir öneri?


94
2018-06-16 13:30


Menşei




Cevaplar:


Büyük olasılıkla senin ls takma adı ls --color=auto, hangi söyler ls sadece çıkışı bir tty olduğunda renkleri kullanmak için. Yaparsan ls --color (ahlaki olarak eşdeğerdir ls --color=always), bu renkleri açmak için zorlayacak.

Bunu yapmak için takma adınızı da değiştirebilirsiniz, ama ben buna gerçekten iyi bir fikir demezdim. İle farklı bir takma isim yapmak daha iyidir --color.

less ihtiyaçlar -Rayrıca


96
2018-06-16 13:38



Niçin takma ad vermek için iyi bir fikir değil ki? ls --color veya ls --color=alwaysBu konuda? - j08lue
@ j08lue, renk işleyen bir komuttan geçerseniz, komutu dağıtabilecek bazı gereksiz karakterler alırsınız. Mesela yaptım ls --color=always | less ve var: ESC[01;32mexecute_once.shESC[0m (Bu eski ve muhtemelen umurumda değil biliyorum, ama gelecekteki ziyaretçiler için, bu yararlı olabilir) - Ryan Amos
@RyanAmos gelecekteki bir ziyaretçi olarak, teşekkür ederim. :) - malvim


Bunun gibi -R seçeneği ile daha az deneyin:

command | less -R

Bu benim gibi bir tek katlı olarak çalışır:

ls -la | grep --color=always bash | less -r

Ve bunun gibi:

ls --color | less -R

Ancak, birincil çıkışı (bu durumda ls çıkışı) --color parametresiyle biraz düzeltmeniz gerekir.


51
2018-06-16 13:33



Teşekkürler, bu da ack-grep için çalışıyor. ack-grep my_string - renkli | daha az -R - igniteflow
--color tanınmadı: ls: yasadışı seçenek - - Osx üzerinde bash çalıştıran. - Scott Biggs
@Scott Biggs: OSX'te hiçbir renk yok; ls -G'yi dene
@ Lu-Chi, ile bile -G, renkler eksik - Iulian Onofrei
OS X'de, ls çıkışı bir terminale yönlendirilmediğinde, CLICOLOR_FORCE ortam değişkenini (herhangi bir şeye) ayarlamanız gerekir. Bu benim için çalışır: CLICOLOR_FORCE = ls -G | daha az -R - jooon