En jouant avec Terminal, j'ai remarqué qu'il existe de nombreuses façons de créer des fichiers permanents alias.
Je suis un débutant Linux, et d'après ce que je sais, je fais :
sudo ln -s /path/to/executable /usr/local/bin/desired_alias
- ajout de
desired_alias = '/path/to/executable'
vers~/.bashrc
-
décommenter ces lignes dans
~/.bashrc
:if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
et en mettant
desired_alias = '/path/to/executable'
dans le~/.bash_aliases
tous ont le même effet.
Quelle est la différence entre la première et la deuxième méthode ?
Réponse acceptée :
Avec la première méthode, vous ne créez pas d'alias, vous créez un lien symbolique. Les liens symboliques sont l'abréviation de liens symboliques :
Les liens symboliques sont des fichiers qui agissent comme
des pointeurs vers d'autres fichiers. […] Un
lien symbolique est un type spécial de
fichier dont le contenu est une chaîne qui
est le nom de chemin d'un autre fichier, le fichier
auquel le lien fait référence. En d'autres
termes, un lien symbolique est un pointeur vers
un autre nom, et non vers un objet
sous-jacent.
En savoir plus sur les liens symboliques ici et ici.
Ce n'est qu'avec la deuxième méthode que vous créez en fait un alias.
Les alias permettent à une chaîne d'être
substituée à un mot lorsqu'elle est utilisée
comme premier mot d'une commande simple.
Le shell maintient une liste d'alias
qui peuvent être définis et unset avec les
commandes intégrées alias et unalias
(voir COMMANDES INTÉGRÉES DU SHELL ci-dessous).
Le premier mot de chaque commande simple
, s'il n'est pas entre guillemets, est vérifié pour
voir s'il a un alias. Si c'est le cas, ce
mot est remplacé par le texte de l'
alias.
Vous pouvez définir un alias partout où vous pouvez taper une commande et faire en sorte que le shell (bash dans ce cas) l'interpréter, mais pour que l'alias soit disponible dans d'autres shells, il doit être défini dans un fichier interprété par le shell au démarrage (démarrage du shell, pas démarrage de l'ordinateur).
Pour bash, ce sont /etc/bash.bashrc
(à l'échelle du système) et ~/.bashrc
. Ces fichiers sont interprétés lorsque le shell démarre en mode interactif (comme lors de l'utilisation de Terminal
). Je ne vais pas mentionner les fichiers de profil car ils servent un objectif différent.
Donc, vous voulez ajouter vos alias à ~/.bashrc
pour les avoir disponibles dans chaque shell interactif.
Les .bash_aliases
la méthode accomplit exactement la même chose que de mettre les alias dans ~/.bashrc
mais a l'avantage supplémentaire d'être plus facile à analyser et à manipuler par les programmes.
Le . ~/.bash_aliases
signifie source (charger) _~/.bash_aliases_
dans le contexte du shell en cours d'exécution.