Para comandos simples como less
, é melhor criar um alias ou exportar as opções? Existe algum benefício de um sobre o outro?
Por exemplo, se eu quiser less
sempre usar a -R
opção para mostrar caracteres brutos, ambas as soluções funcionarão:
export LESS='-R'
alias less='less -R'
Para um caso simples como este, existe algum benefício de um sobre o outro? Algum cenário em que um causará problemas e o outro não?
Eu li várias info
e várias man
páginas, além de pesquisar no Google, mas ainda estou preso a isso.
less
que você pode fazer isso usandolesskey
)Respostas:
Uma diferença entre os dois é que os aliases são apenas um recurso de shell. As variáveis de ambiente são herdadas por todos os subprocessos (a menos que sejam deliberadamente limpos).
A variável de ambiente seria mais provável para o trabalho mesmo se
less
é lançado indiretamente, tais como através de outro shell (por exemplotcsh
),man
,vim
,psql
, etc.fonte
bash -c 'alias ll="ls -l"; ll'
não usará o alias.export LESS='-R'
no meu .zshrc, abrir uma sessão do zsh e mudar para o bash nessa mesma sessão (sem exportação no .bashrc), a variável de ambiente ainda será definida? Eu teria pensado que ambos seriam perdidos ....Depende muito da ferramenta que você está usando. Haverá ferramentas que permitem o uso de outras, outras apenas.
Existem comandos chamados por outras pessoas, que lêem as variáveis de ambiente e aceitam as mesmas opções, mas adicionar a cada uma delas a mesma opção é um aborrecimento, como compiladores
make
, pois aqui as variáveis de ambiente brilham. Você define a variável e esquece. Também é uma vantagem que pode ser temporal e funcionar para um único comando.Bottom line, é uma matéria de preferências e a melhor ação para a tarefa, haverá momentos em que a configuração de um alias é mais fácil e permanente do que uma variável de ambiente e outras vezes em que você precisa de uma variedade de ferramentas que se comportem da mesma maneira que você faria amo variáveis de ambiente.
fonte