Que arquivo define a variável de ambiente LESSOPEN?

4

por favor me avise sobre o seguinte. Na minha máquina Linux - eu faço o seguinte:

$ env | grep -i LESSOPEN
LESSOPEN=|/usr/bin/lesspipe.sh %s

Então, do comando env , vejo que:

LESSOPEN=|/usr/bin/lesspipe.sh %s

Eu quero alterar a variável LESSOPEN , portanto, faço a seguinte pesquisa para encontrar onde ela está localizada, para que eu possa fazer essa alteração.

$ grep -Ril "LESSOPEN" /

Mas a pesquisa grep não encontrou nenhum arquivo com LESSOPEN . Por favor, informe sobre qual arquivo LESSOPEN variable está definido, então eu posso mudar seu valor.

    
por maihabunash 11.09.2014 / 15:45

1 resposta

9

Nos sistemas Red Hat e CentOS, ele é definido em /etc/profile.d/less.sh . Na versão 5, isso contém

# less initialization script (sh)
[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="${LESSOPEN-|/usr/bin/lesspipe.sh %s}"

Em outros sistemas, como a versão 7, o valor pode ser ||/usr/bin/lesspipe.sh %s ; Há uma interpretação ligeiramente diferente entre os valores que começam com | e || , detalhados na página do manual por menos .

Você pode editar esse arquivo se quiser que todos os usuários de shells do tipo bash em seu sistema vejam um valor diferente ou substituí-lo, editando ~/.bashrc ou ~/.bash_profile para ter uma linha export LESSOPEN=whatever .

Nos sistemas Linux, grep -r string / ou grep -R string / podem ter problemas ao ler determinados arquivos especiais. grep irá travar ao ler /dev/rfkill e, devido ao que acredito ser um bug de alocação de buffer, ficará sem memória lendo determinados arquivos grandes em /proc . Uma alternativa é excluir /dev e /proc :

find / '(' -path /proc -o -path /dev ')' -prune -o -type f -exec grep -il lessopen {} +
    
por 11.09.2014 / 16:20