web-dev-qa-db-fra.com

Où devrais-je placer mon script afin que je puisse l'exécuter par une commande directe?

Où puis-je (dois) mettre mon script (bash) pour qu'il puisse être utilisé (pour toujours) par terminal ou par une commande directe: Alt+F2?

Je sais qu’il existe /usr/bin et /sbin & /bindirectories mais quand dois-je utiliser entre eux?

Où devrais-je mettre mon script?

60
Pandya

N'utilisez pas ces répertoires:

/usr/bin, /sbin et /bin

Laissez-les pour les exécutables gérés par le paquet.


Si vous avez besoin du script pour un utilisateur, réponse de waltinator c'est bien.

Si vous avez besoin du script pour tous les utilisateurs de votre système (mais vous pouvez également l'utiliser pour un utilisateur), collez-le /usr/local/bin/ . Un avantage: ce répertoire est déjà dans votre PATH, il n’est donc pas nécessaire de modifier des fichiers.

60
Rinzwind

Cela dépend de qui utilisera votre script:

  • vous-même seulement - $HOME/bin comme @waltinator
  • vous et les autres utilisateurs locaux - /usr/local/bin
  • root uniquement - /usr/local/sbin

De cette façon, vous avez vos propres scripts séparés des binaires fournis par la distribution.

81
Twinkles

Vous devriez mettre votre script sous $HOME/bin. Suivez le chemin ci-dessous pour y parvenir:

  1. Créez un dossier en utilisant mkdir $HOME/bin
  2. Puis mettez votre script dans $HOME/bin

  3. Enfin, ajoutez la ligne suivante sous $HOME/.bashrc en modifiant avec gedit $HOME/.bashrc

export PATH = "$ HOME/bin: $ PATH"

Lorsque le système recherche la commande que vous avez tapée, il cherche dans chaque répertoire de $PATH et exécute la première correspondance trouvée.

43
waltinator