UPDATE - Como o Walininator diz que executar o comando bash
logo após o comando ls
criará shell filho que provavelmente consumirá recursos, eu tive que procurar outra solução. Eu tentei executar echo -ne '\e[1;31m'
luz após o comando ls, portanto, eu coloquei no bls
funciton.
De alguma forma, cheguei à minha própria solução para esse problema. As sugestões do meuh e do Waltinator foram procurar seqüências de escape enviadas pelo comando ls
e eu até descobri essas. Eu tentei remover a seqüência de escape usando sed
, mas devido à minha inexperiência, eu não pude usá-lo perfeitamente, talvez.
Mais tarde, notei que a execução do comando bash
after ls reverte o primeiro plano de volta para a cor que eu queria. I decided against using bash after ls
Enquanto isso, encontrei uma maneira como:
- Antes de tudo, coloco o comando
echo -ne '\e[0;31m'
em um script de shell e adiciono o script de shell a.bashrc
. - Em segundo lugar, defini uma função para que
bash
fosse executado logo apósls
como:
bls () {
ls "$@" && echo -ne '\e[1;31m'; }
-
Eu exportei a função acima como:
export -f bls
Então, agora eu tenho que fazer um bls
para listar diretórios e não alterar a cor de primeiro plano. Isso não resolveu o problema ls
, mas me encontrou de outra forma. Eu só tenho que digitar mais uma letra em bls