Alternative non-sudo à / usr / local / bin pour les scripts courants

J’ai l’habitude de mettre des scripts communs dans /usr/local/bin pour pouvoir les exécuter de n’importe où avec le terminal.

Par exemple, je crée un script shell nommé 1 , je l’exécute avec chmod +x 1 et je le mets dans /usr/local/bin . À l’intérieur du script, je tape #!/bin/sh sur la première ligne, puis mon commandes. A partir de là, il est très facilement utilisable et rapide à exécuter en tapant

1 Enter

sur le terminal, depuis n’importe quel dossier.

Mon problème est que je travaille actuellement sur un ordinateur sur lequel sudo ne peut pas faire et que je ne peux pas espérer l’obtenir non plus. Je ne peux donc pas placer mon script dans /usr/local/bin .

Quelles sont mes options? Existe-t-il un autre chemin avec la même capacité “exécuter de partout”, auquel je peux accéder sans sudo , ou un autre moyen d’obtenir quelque chose d’équivalent?

La réponse acceptée à ce post dit

Pour les scripts définis par l’utilisateur, utilisez bin / dans votre répertoire personnel.

Ce que j’ai essayé, mais il n’y a pas de dossier bin dans mon répertoire personnel, et quand j’en ai créé un, je ne pouvais toujours pas exécuter le script ailleurs.

Je suis sous Ubuntu 12.04 LTS.

Quelles sont mes options? Existe-t-il un autre chemin avec la même capacité “exécuter de partout”, auquel je peux accéder sans sudo, ou un autre moyen d’obtenir quelque chose d’équivalent?

Comment faire?

Créez un répertoire dans votre maison pour contenir vos scripts normalement nommés bin comme convention.

 mkdir ~/bin 

Maintenant, déplacez vos scripts vers bin

 mv somescript ~/bin 

Maintenant, comment le faire venir de partout?!

Vous devez append le bin à la PATH

ouvrez votre .bashrc

 gedit .bashrc 

et ajoutez cette ligne:

 export PATH=$PATH:/home/username/bin 

N’oubliez pas de remplacer le username d’ username par votre nom d’utilisateur

Sauvegarder et quitter, puis source la bashrc

 source .bashrc 

et maintenant vous allez bien, vous pouvez exécuter votre script comme vous le faisiez! mais vous devez noter que cela est lié à votre utilisateur uniquement.

Remarque: Il est préférable de renommer vos scripts autres que 1, 2, car certains noms risquent de poser problème.


METTRE À JOUR:

Vous pouvez faire de même, créez simplement le répertoire bin dans votre maison, puis source ~/.profile au lieu de ~/.bashrc . Depuis que l’ajout de ~ / bin à votre PATH est déjà répertorié dans le .profile

 # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi 

En plus de https://askubuntu.com/a/643030/218015, vous pouvez également définir un alias dans votre .bashrc pour de petites tâches souvent utilisées. Par exemple

 alias ll='ls -l' alias ls='ls --color=auto' 

vous créera une “commande” ll, qui fait ls -l et ls sera colorée après la définition de l’alias. https://wiki.ubuntuusers.de/alias a quelques exemples supplémentaires et un guide pour le configurer.