Mungkin ada hal lain yang terjadi. ls
tidak boleh menggunakan warna kecuali jika dianggap terhubung dengan sesuatu yang interaktif. Seharusnya tidak mewarnai hal-hal ketika Anda menyalurkan ke program lain.
Alias pada umumnya adalah ide yang buruk karena Anda tidak pernah dapat menyingkirkan opsi itu dan Anda menjadi terbiasa dengan pengaturan pribadi yang mungkin tidak dapat Anda bawa ke mesin lain yang harus Anda kerjakan. Jika Anda perlu mematikannya untuk menyalurkan ke sesuatu yang lain, gunakan sakelar di dalam pipa itu. Tapi, warna seharusnya tidak ada di pipa.
Untuk ls
, lihat apakah Anda mendukung LS_COLORS
variabel lingkungan. The trapd00r / LS_COLORS menunjukkan kepada Anda bagaimana cara kerjanya. Dircolors memungkinkan Anda menyesuaikan warna secara teliti dan per jenis file. Jika Anda tidak menyetel LS_COLORS
tetapi pewarnaan dihidupkan, ls
akan membuat banyak panggilan sistem untuk mengetahui jenis dan atribut file sehingga dapat mengetahui apa yang harus diwarnai. Orang-orang di belakang Sherlock menemukan bahwa pengaturan LS_COLORS
dapat menghindari semua itu dan memberikan peningkatan kecepatan 40x . Baca detail berdarah mereka untuk melihat apa yang mereka temukan.
Saya membuat semua jenis file menggunakan warna default:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
Inilah file LS_COLORS yang saya masukkan ke dircolors:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
Untuk grep
, lihat apakah dukungan Anda GREP_COLORS
atau GREP_OPTIONS
.
ls
dangrep
ketika memiploskan Anda tidak perlu melakukan apa-apa karena--color=auto
sudah mematikan pewarnaan ketika outputnya berupa pipa, atau sebenarnya apa pun kecuali tty; itulah yang dimaksud 'otomatis'. Demikian pula FreeBSDls -G
atau 'CLICOLOR' dinonaktifkan 'jika output tidak diarahkan ke terminal kecuali ... CLICOLOR_FORCE ...'.