J'ai quelques scripts python sur / usr / share / scripts / que j'utilise souvent, et je veux pouvoir les exécuter en écrivant simplement le nom et non le chemin complet, comment pourrais-je faire cela?
echo $ PATH me montre:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
J'ai donc essayé d'écrire sur le terminal:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Aucune erreur ne s'affiche et echo $ PATH affiche maintenant mon nouveau chemin de scripts, mais lorsque j'exécute scriptName, j'obtiens une commande introuvable.
Qu'est-ce que je fais mal?
Réponses:
Définissez les autorisations exécutables pour les scripts python par "chmod + x *"
Vous avez maintenant deux options:
/usr/local/bin
répertoire.Exemple:
[mzed@node02 test]$ vim printme.py
Contenu du dossier:
-
J'espère que cela t'aidera.
la source
D'accord, je suis peut-être juste une école plus ancienne ...
Dans / usr / bin, ajoutez des scripts shell avec l'en-tête #! / Bin / bash et sans extension .sh. Ensuite, dans ces scripts, exécutez simplement python absolutepath.
Pourquoi je pense que c'est mieux que les autres réponses:
ne nécessite pas de modifier vos scripts pour les rendre exécutables.
Ne nécessite pas de renommer vos scripts.
la source
Désolé de suggérer une chose de base .. Avez-vous essayé "scriptname.py", au lieu de simplement "scriptname"?
En outre, tous les scripts doivent avoir des autorisations d'exécution (vous pouvez le faire en émettant "chmod + x script.py"). À en juger par votre commentaire ci-dessus, car vous les avez exécutés comme "/ usr / share / scripts / scriptName. py args ", ils devraient avoir des autorisations d'exécution.
la source