Esse é um comportamento normal. Essas variáveis de ambiente contêm seqüências de escape que fazem com que o terminal altere sua cor de primeiro plano. Você obtém o mesmo efeito visual quando qualquer programa os envia, seja less ou env .
Essas variáveis precisam conter os caracteres de escape reais, menos não faz nenhum pós-processamento nelas.
Normalmente, você pode colocar menos variáveis de configuração no seu arquivo menoschave , mas isso não funciona para o LESS_TERMCAP_xx variables, porque less as lê antes de ler o arquivo lesskey (a partir de menos 444). Então você não tem escolha a não ser colocá-los no ambiente.
Se você quiser que essas variáveis se apliquem somente a man e não a outros usos de less , você pode usar um alias para man que define a variável PAGER como um script wrapper que define as variáveis de ambiente .
#!/bin/sh
escape=␛ # a literal escape character
export LESS_TERMCAP_md=$escape'[01;34m'
…
exec less "$@"
(Como alternativa, use #!/bin/bash na primeira linha e você pode usar a sintaxe #'\e' para obter um caractere de escape. Em sistemas onde /bin/sh é traço, usar /bin/sh é um pouco mais rápido, embora possa não ser perceptível na prática.)
Chame este script less-color e adicione alias man='PAGER=less-color man' ao seu ~/.bashrc ou ~/.zshrc . Em alguns sistemas, em vez de criar um alias, você pode informar a man para usar um pager diferente definindo a variável de ambiente MANPAGER : export MANPAGER=less-color em seu ~/.profile .
