web-dev-qa-db-fra.com

Expérience Alias ​​(ajout de ll dans Ubuntu)

J'utilise aussi Debian 9.3 et vous n'avez pas ll (LL minuscule) Out Of Box (OOB). Vous devez le créer vous-même en l'ajoutant à l'un des fichiers .rc (alias ll="ls -la").

Bien sûr, dans Ubuntu, vous l’avez OOB, et pourtant, même si nous l’avons dans Ubuntu OOB, j’ai ajouté manuellement cet alias à la fin de /etc/bash.bashrc juste pour expérimenter dans un test système:

alias ll="ls -la"

J'ai ensuite recherché le fichier source /etc/bash.bashrc pour que le changement soit effectif.

Est-ce que la duplication d'alias que j'ai faite dans Ubuntu (créer un alias déjà existant et affectant déjà mon utilisateur, dans un autre fichier .rc) est problématique à votre avis?

Avoir 2 alias ll identiques ne semble pas faire de dégâts en testant rapidement Ubuntu. Peut-il être dommageable ou problématique dans tous les sens?

Edit: Pour m'assurer que je suis parfaitement clair --- j'ai conservé l'alias d'origine également dans Ubuntu, je ne l'ai pas supprimé. J'ai 2 alias dans 2 endroits différents qui font la même chose et de cela je m'inquiète.

1
Arcticooling

Vous êtes libre de redéfinir les alias autant de fois que vous le souhaitez. Il n'y a pas de pénalité ou de "danger" pour le système. Chaque définition remplace la précédente. La seule précaution est que vous pourriez vous confondre.

Exemple

Créons un alias D:

$ alias D=date
$ D
Mon Jan  8 18:57:57 PST 2018

Nous pouvons utiliser alias pour afficher la définition de D:

$ alias D
alias D='date'

Maintenant, redéfinissons D:

$ alias D=pwd
$ D
/tmp
$ alias D
alias D='pwd'

La nouvelle définition a simplement remplacé l'ancienne.

Séquence d'initialisation Ubuntu

Lorsque vous démarrez un shell bash interactif sans connexion sous Ubuntu, bash lit et exécute les commandes dans /etc/bash.bashrc, puis lit et exécute les commandes dans ~/.bashrc.

Sous Ubuntu (mais pas Debian), le fichier ~/.bashrc par défaut contient la définition:

alias ll='ls -alF'

Puisque /etc/bash.bashrc est exécuté avant ~/.bashrc, toute définition de ll dans /etc/bash.bashrc sera remplacée par la définition dans ~/.bashrc.

Lorsque vous démarrez un shell de connexion ou un shell non interactif, les règles sont différentes. Voir man bash pour plus de détails.

4
John1024