Question Comment créer un alias permanent? [dupliquer]


Cette question a déjà une réponse ici:

Si vous créez un alias par exemple:

alias cls="clear"

Il existe jusqu'à ce que tu tues session terminall. Lorsque vous démarrez une nouvelle fenêtre de terminal, l'alias n'existe plus. Comment créer un alias "permanent", existant dans chaque session de terminal?


165
2017-08-06 15:14


origine


Comme pour cet exemple particulier, ^ L (Control-l) efface également l'écran. - loevborg


Réponses:


Vous pouvez mettre de tels alias dans le ~/.bash_aliases fichier.

Ce fichier est chargé par ~/.bashrc. Sur Ubuntu 10.04, les lignes suivantes doivent être décommentées pour permettre l'utilisation de ~/.bash_aliases. Sur Ubuntu 11.04 et versions ultérieures, il est déjà activé:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

La commande d'alias sera disponible sur tout nouveau terminal. Pour que la commande d'alias sur n'importe quel terminal existant ait besoin d'une source ~/.bashrc de ce terminal comme,

source ~/.bashrc

185
2017-10-06 19:45



+1 Je recommande ceci par rapport à l'édition ~ / .bashrc. Bien que très utile pour diverses autres raisons, ~ / .bashrc contient trop d'éléments pouvant décourager un utilisateur peu familiarisé avec les particularités des shells Linux. - ændrük
Exemple: echo "cls='clear'" >> ~/.bash_aliases && source ~/.bash_aliases - hobs
@ ændrük En fait, je trouve confus la profusion de fichiers de configuration shell. Dans mon esprit, il est plus facile s'il y a un fichier de configuration assez long avec tous les paramètres. - haziz
@hobs ça doit être: echo "alias cls='clear'" >> ~/.bash_aliases && source ~/.bash_aliases - Amir Ali Akbari
gracias pour la correction - hobs


Ajoutez votre ligne dans ~/.bashrc ou dans ~/.profile / ~/.bash_profile pour les connexions distantes.

Si vous voulez que la commande soit exécutée pour tous les utilisateurs, mettez-la dans /etc/bash.bashrc.

Modifier: Dans les dernières versions d'Ubuntu, ~/.bashrc sources automatiquement ~/.bash_aliases, les alias permanents sont donc mieux placés dans ce fichier.


35
2017-08-06 15:26



Merci, cela a fonctionné quand j'ai écrit dans ~ / .bachrc P.S. Il n'y a pas de ~ / .profiles dans mon répertoire personnel. - Zango
.profile pourrait être .bash_profile maintenant - txwikinger
Si le fichier en question n'existe pas, vous pouvez simplement le créer. - Ryan Thompson
Merci, je me demandais quelle est la différence entre les deux. (bashrc et bash_profile) - emf
joshstaiger.org/archives/2005/07/bash_profile_vs.html pour la différence entre ~ / .bash_profile et ~ / .bashrc - Indrajeet Gour


Vous pouvez ajouter la fonction ci-dessous à votre fichier .bashrc.

function permalias () 
{ 
  alias "$*";
  echo alias "$*" >> ~/.bash_aliases
}

Ensuite, ouvrez un nouveau terminal ou exécutez source ~/.bashrc dans votre terminal actuel. Vous pouvez maintenant créer des alias permanents en utilisant le permalias commande, par exemple permalias cls=clear.


18
2017-11-17 21:22



Note d'utilisation: quand j'ai tapé mkalias smount='sudo mount' les citations n’étaient pas retenties littéralement, donc ma solution était mkalias "smount='sudo mount'" Si vous utilisez une commande de 2 mots ou plus, vous en aurez également besoin. - TecBrat


Collez cette commande dans la dernière ligne de votre ~/.bash_profile


4
2017-08-06 15:17



Pourquoi pas ~/.bashrc? - mac9416
bashrc est préféré, je comprends, mais pas clair pourquoi - emf


Voir http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html pour la différence entre ~/.bash_profile et ~/.bashrc

~/.bashrc est exécuté chaque fois que vous ouvrez un nouveau terminal, alors que ~/.bash_profile n'est pas. ~/.bashrc contient ce qui suit, qui comprend le ~/.bash_aliases fichier. Ce serait l'endroit le plus approprié pour ajouter votre alias.

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

4
2017-07-03 11:00





reset
echo "Enter alias like this:"
echo "alias dir='ls'"
read var
echo "$var" >> /home/$user/.bashrc && . ~/.bashrc
cat .bashrc

-3
2018-04-01 21:18



Veuillez expliquer, quelle est votre réponse. Montrer un tas de code n’est presque jamais bon. Si vous le faites, envoyez un commentaire à @DavidFoerster et je voterai pour votre réponse. - David Foerster