Pour des commandes simples comme less
, est-il préférable de créer un alias ou d'exporter les options? Y a-t-il un avantage de l'un sur l'autre?
Par exemple, si je veux less
toujours utiliser l' -R
option d'affichage des caractères bruts, ces deux solutions fonctionnent:
export LESS='-R'
alias less='less -R'
Pour un cas simple comme celui-ci, y a-t-il un avantage de l'un sur l'autre? Des scénarios où l’un causera des problèmes et l’autre ne le fera pas?
Je l' ai lu plusieurs info
et man
pages, ainsi que googler, mais je suis toujours bloqué à ce sujet .
less
vous pouvez le faire en utilisantlesskey
)Réponses:
Une différence entre les deux est que les alias ne sont qu'une fonctionnalité du shell. Les variables d'environnement sont héritées par tous les sous-processus (à moins d'être délibérément effacées).
La variable d'environnement serait plus susceptible de fonctionner même si
less
est lancé indirectement, par exemple via un autre shell (par exempletcsh
),man
,vim
,psql
, etc.la source
bash -c 'alias ll="ls -l"; ll'
n'utilisera pas l'alias.export LESS='-R'
dans mon .zshrc, ouvrez une session zsh, puis passez à bash dans cette même session (sans exportation dans .bashrc), la variable d'environnement sera toujours définie? J'aurais pensé que les deux seraient perdus ....Cela dépend grandement de l'outil que vous utilisez. Il y aura des outils qui vous permettent d'utiliser l'un ou l'autre, d'autres qui n'en permettent qu'un.
Certaines commandes sont appelées par d'autres, lisent les variables d'environnement et acceptent les mêmes commutateurs, mais leur ajouter le même commutateur est une corvée, comme les compilateurs car
make
, ici, les variables d'environnement brillent. Vous définissez la variable et oubliez-la. C’est aussi un avantage qu’il puisse être temporel et fonctionner pour une seule commande.En bout de ligne, il s'agit d'une question de préférences et de meilleure action pour la tâche. Il sera parfois plus facile et permanent de créer un alias qu'une variable d'environnement et d'autres fois, vous aurez besoin d'un éventail d'outils se comportant de la même manière que vous le feriez. variables d'environnement d'amour.
la source