J'ai un script bash que je voudrais exécuter globalement en tant que commande. Pour cela, j'ai déplacé le script vers /usr/local/bin/somefile.sh
.
Je dois encore appeler une commande appelée somefile.sh
. Je voudrais avoir un alias pour cette commande (par exemple, je voudrais juste appeler le script avec la commande sf
).
Comment faire ça?
4 Réponses :
Il existe différentes manières:
alias
, man alias
pour plus de détails sf
vers votre vrai script Existe-t-il un moyen de rendre la définition de l'alias permanente. Je ne veux pas le retaper après chaque redémarrage de mon ordinateur.
@ User12547645 ajoutez l'alias au fichier .bashrc.
Et pour compléter la réponse de @Kent:
alias sf = '/ usr / local / bin / somefile.sh'
utilisant un alias
ln -s somefile.sh / usr / local / bin / sf
en utilisant un lien logiciel
mv /usr/local/bin/somefile.sh / usr / local / bin / sf
en utilisant le changement de nom
Existe-t-il un moyen de rendre la définition de l'alias permanente. Je ne veux pas le retaper après chaque redémarrage de mon ordinateur.
Ouvrez votre fichier .bashrc
situé dans ~ / .bashrc
. Le fichier .bashrc
est lu chaque fois que vous vous connectez au système. Ajoutez la ligne ci-dessous à la fin du fichier.
alias sf = '/ usr / local / bin / somefile.sh'
puis reconnectez-vous ou exécutez source .bashrc
Si vous êtes sur un système GNU, vous pouvez utiliser le système "alternatives":
/usr/local/bin/sf -> /etc/alternatives/somefile /etc/alternatives/somefile -> /usr/local/bin/somefile.sh
Cela crée 2 liens symboliques:
dir=/usr/local/bin sudo update-alternatives --install $dir/sf somefile $dir/somefile.sh 10
Solution la plus simple, renommez-le en
sf
.J'ai déjà utilisé les alias. S'exécuterait-il encore, s'il ne s'agit plus d'un fichier
.sh
? S'il n'y a pas de fin de fichier?Oui. En fait, il est généralement recommandé pas pour donner aux scripts une extension
.sh
.