2016-11-13 5 views
1

Я использую по умолчанию Linux Mint .bashrc, здесь full bashrc, выход как:Как удалить реж фона в `Ls -color` выход

enter image description here

некоторые реж имеет зеленый фон, Как удалить Это?

+0

Попробуйте удалить псевдоним: 'alias ls = 'ls --color = auto'' – Maroun

+0

@MarounMaroun Я надеюсь сохранить цвет, но изменить« зеленый фон », например, изменить его на« красный фон », – asullaherc

ответ

1

Объяснения даются в выводе dircolors -p, например,

screenshot with dircolors -p

Конечно dircolors не окрашивает его выхода. Я использовал этот скрипт:

#!/usr/bin/perl -w 

use strict; 

our $comment = "\e[31m"; 
our $reset = "\e[K\e[m"; 

our @data; 

open my $fh, "dircolors -p|" or die "cannot read from dircolors"; 
@data = <$fh>; 
close $fh; 

printf "\e[H\e[2J"; 

for my $n (0 .. $#data) { 
    chomp $data[$n]; 
    if ($data[$n] =~ /^\s*#/) { 
     printf "%s%s%s\n", $comment, $data[$n], $reset; 
    } 
    elsif ($data[$n] =~ /^\s*TERM\s/) { 
     printf "%s\n", $data[$n]; 
    } 
    elsif ($data[$n] =~ /^\s*[^\s]+\s+\d+(;\d+)?\s*(#.*)?$/) { 
     my $code = $data[$n]; 
     $code =~ s/^\s*[^\s]+\s+//; 
     $code =~ s/\s.*//; 
     my $data = $data[$n]; 
     $data =~ s/(#.*)$/$comment$1$reset/; 
     $data =~ s/^(\s*)([^\s]+)(\s+)/$1\e[${code}m$2\e[m$3/; 
     printf "%s\n", $data; 
    } 
    else { 
     printf "%s\n", $data[$n]; 
    } 
} 

1; 

Чтобы избавиться от фона, вы можете изменить права доступа для каталога, или использовать другую базу данных, чтобы установить переменные окружения LS_COLORS. dircolors documentation - это место, куда можно отправиться.