dircolors: regras para _ext (em vez de .ext)

3

No UNIX, muitas extensões de arquivo não contêm o ponto à frente, como em bashrc em vez de bash.rc ou ssh_config em vez de ssh.config

Gostaria também de adicionar regras dircolor para _config . No entanto, quando eu adiciono a linha:

_config 01;31

Eu recebo um erro: dircolors: '/etc/dircolors':126: unrecognized keyword _config

É possível adicionar extensões _ext a dircolors?

    
por user1968963 11.10.2013 / 12:52

2 respostas

6

Você pode fazer isso com *_config 01;31 .

De man 5 dir_colors :

*extension color-sequence
    Specifies the color used for any file that ends in extension.

.extension color-sequence
    Same as *.extension. Specifies the color used for any file that ends
    in .extension. Note that the period is included in the extension, which
    makes it impossible to specify an extension not starting with a period,
    such as ~ for emacs backup files. This form should be considered obsolete.
    
por 11.10.2013 / 21:00
3

Como @Matt me corrigiu, isso é possível usando dir_colors . Para fazer isso, você precisa adicionar uma linha semelhante a esta em um dos poucos locais.

  • / etc / DIR_COLORS
  • $ HOME / .dircolors

trecho da página man

found in a system default shell initialization file, like /etc/profile or 
/etc/csh.cshrc.  (See  also  dircolors(1).)   Usually, the file used here is 
/etc/DIR_COLORS and can be overridden by a .dir_colors file in one's home 
directory.

Esses arquivos normalmente são originados desses arquivos que são corrigidos em $HOME/.bashrc e $HOME/.bash_profile , supondo que você esteja usando o Bash como seu shell.

$ ls -l /etc/profile.d/|grep colorls
-rw-r--r--. 1 root root 1133 Nov  3  2010 colorls.csh
-rw-r--r--. 1 root root 1143 Nov  3  2010 colorls.sh

Se você adicionar sua linha para dizer sua cópia de $HOME/.dircolors :

_config 01;31

Você pode atualizar seu ambiente usando este comando:

$ source /etc/profile.d/colorls.sh

Você pode confirmar que seu ambiente agora inclui a alteração:

$ env|grep -o '*_config=01;31'
*_config=01;31

Finalmente, você pode testar para ver se sua alteração está funcionando:

$ touch afile_config
ls -l afile_config

    
por 11.10.2013 / 14:54

Tags