Procédure pas à pas pour rendre un script python disponible n'importe où :
Créez un script Python :
cd /home/el/bin
touch stuff.py
chmod +x stuff.py
Découvrez où se trouve votre python :
which python
/usr/bin/python
Mettez-y ce code :
#!/usr/bin/python
print "hi"
Exécutez-y le même répertoire :
python stuff.py
Monter un répertoire et il n'est pas disponible :
cd ..
stuff.py
-bash: stuff.py: command not found
Non trouvé ! C'est comme prévu, ajoutez le chemin du fichier python au $PATH
vi ~/.bashrc
Ajouter le fichier :
export PATH=$PATH:/home/el/bin
Enregistrez-le, appliquez à nouveau le .bashrc et réessayez
source ~/.bashrc
Réessayez :
cd /home/el
stuff.py
Impressions :
hi
L'astuce est que le shell bash connaît la langue du fichier via le shebang.
Créez simplement ~/bin
et mettre export PATH=$PATH:$HOME/bin
dans votre bashrc/profil. Ne jouez pas avec le système, il va mordez-vous en arrière, faites-moi confiance.
Quelques éléments supplémentaires (pertinents pour la question mais ne faisant pas partie de la réponse) :
- Dans l'autre sens
export PATH=$HOME/bin:$PATH
n'est PAS sûr, car bash examinera votre~/bin
dossier pour les exécutables, et si leur nom correspond à d'autres exécutables dans votre$PATH
d'origine vous serez surpris par l'exécution de commandes inattendues/non fonctionnelles. - N'oubliez pas de
chmod+x
lorsque vous enregistrez votre script en~/bin
. - Soyez conscient de ce que vous mettez dans votre
~/bin
dossier, si vous testez simplement quelque chose ou travaillez sur un script inachevé, il est toujours préférable d'utiliser ./$SCRIPT_NAME depuis votreCWD
pour exécuter le script que de le mettre sous~/bin
.
Le meilleur endroit pour mettre des choses comme ça est /usr/local/bin
.
C'est l'endroit normal pour mettre les binaires installés personnalisés, et devrait être au début de votre PATH
.
Copiez simplement le script ici (probablement en utilisant sudo
), et cela devrait fonctionner pour n'importe quel utilisateur.