it-swarm-id.com

CLICOLOR dan LS_COLORS dalam bash

Saya memiliki pengaturan berikut dalam .bashrc untuk mewarnai daftar.

 ekspor CLICOLOR = 1 
 ekspor LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: jadi = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; 01: atau = 40; 31; 01: ex = 01; 32: *. tar = 01; 31: *. tgz = 01; 31: *. Arj = 01; 31: *. Taz = 01; 31: *. Lzh = 01; 31: *. Zip = 01; 31: *. Z = 01; 31: *. Z = 01; 31: * .gz = 01; 31: *. bz2 = 01; 31: *. deb = 01; 31: *. rpm = 01; 31: *. jar = 01; 31: *. jpg = 01; 35: *. jpeg = 01; 35: *. gif = 01; 35: *. bmp = 01; 35: *. pbm = 01; 35: *. pgm = 01; 35: *. ppm = 01; 35: *. tga = 01; 35: *. Xbm = 01; 35: *. Xpm = 01; 35: *. Tif = 01; 35: *. Tiff = 01; 35: *. Png = 01; 35: *. Mov = 01; 35: *. Mpg = 01; 35: *. Mpeg = 01; 35: *. Avi = 01; 35: *. Fli = 01; 35: *. Gl = 01; 35: *. Dl = 01; 35: * .xcf = 01; 35: *. xwd = 01; 35: *. ogg = 01; 35: *. mp3 = 01; 35: *. wav = 01; 35: '; 

Situs ini menunjukkan kode untuk warna, dan saya ingin mengubah warna direktori menjadi `warna terang '. Tetapi menjadikan di sebagai berikut tidak memengaruhinya.

di = 04; 94

Yang menarik adalah bahwa bahkan setelah saya mengomentari LS_COLORS, saya dapat melihat output berwarna selama saya memiliki CLICOLOR = 1.

  • Apa yang harus saya lakukan untuk membuat warna direktori menjadi Biru muda (94)?
  • Apa itu untuk CLICOLOR dan LS_COLORS? Mengapa pewarnaan bekerja tanpa LS_COLORS?
51
prosseek

Ada beberapa implementasi warna yang berbeda untuk ls, dan Anda telah menggabungkan beberapa diantaranya.

  • Nyala FreeBSD dan Mac OS X , ls menunjukkan warna jika variabel lingkungan CLICOLOR diatur atau jika -G dilewatkan pada baris perintah. Warna aktual dikonfigurasikan melalui variabel lingkungan LSCOLORS (bawaan bawaan digunakan jika variabel ini tidak disetel). Untuk menampilkan direktori dengan warna biru muda, gunakan

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • Dengan GNU ls , mis. di Linux, ls menunjukkan warna jika --color dilewatkan pada baris perintah. Warna aktual dikonfigurasikan melalui LS_COLORS variabel lingkungan, yang dapat diatur dengan perintah dircolors (bawaan bawaan digunakan jika variabel ini tidak disetel).

Apa itu untuk CLICOLOR dan LS_COLORS? Mengapa pewarnaan bekerja tanpa LS_COLORS?

CLICOLOR akan mengaktifkan atau menonaktifkan warna. LS_COLORS tidak diperlukan, dan akan memungkinkan Anda menyesuaikan warna.

Perhatikan bahwa pada beberapa sistem operasi (Seperti MacOSX dan FreeBSD), nilainya dinamai LSCOLORS, bukan LS_COLORS.

Saya menghindari pengaturan warna menggunakan LS_COLORS, karena dengan begitu saya perlu menerapkan skema warna yang sama pada seratus komputer yang berbeda dan 10 berbeda un * xes. Sebagai gantinya, saya memodifikasi warna dalam program Terminal saya, yang berfungsi sama pada sebagian besar host Unix.

11

Jika Anda menginginkan skrip pembungkus untuk ls yang berfungsi pada semua sistem, abaikan perbedaan warna ini, dll. Lihat: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady