Bonjour, j'aimerais lancer un script depuis le terminal. Y a-t-il un moyen de le faire? Par exemple: si j'ai un script python, je l'exécuterais normalement avec cette commande:
python script.py
Comment puis-je exécuter ce script en tapant simplement le nom du fichier du script dans le terminal (même si je suis dans un autre répertoire)?
Une autre réponse que j'ai trouvée plutôt utile: Comment exécuter des scripts sans taper le chemin complet?
Vous pouvez simplement créer un lien symbolique. Créez-le dans/usr/local/bin. Tout ce dont vous avez besoin est d’exécuter la commande:
Sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
Après cela, vous devriez rendre votre fichier exécutable:
chmod +x /full/path/to/your/file
Vous devriez maintenant pouvoir lancer name_of_new_command à tout moment dans votre terminal.
Notez que c'est une bonne solution uniquement pour une utilisation domestique de Linux.
La manière la plus simple de procéder consiste peut-être à placer votre script dans $HOME/bin
et à vous assurer que les autorisations sont définies sur exécutable:
chmod +x $HOME/bin/script.py
Vous devriez maintenant pouvoir exécuter le script à partir de n’importe quel répertoire ....
Quelques autres points à prendre en compte:
$HOME/bin
est dans votre $PATH
, pour Ubuntu, cela sera défini par défaut dans $HOME/.profile
mais cela ne fait pas de mal de vérifier.Assurez-vous que votre script Python dispose du jeu 'Shebang' approprié:
#!/usr/bin/env python
Mettez cette ligne dans votre .bashrc
en supposant que vous utilisez bash comme Shell:
export PATH=/path/to/your/script/:"$PATH"
Vous pouvez utiliser vi, nano ou gedit pour éditer cette ligne à la fin du fichier. Assurez-vous que votre script est défini sur le mode exécutable, s'il s'agit d'un script bash:
chmod +x script.sh
Ou si c'est un script Python:
chmod +x script.py
Sur votre script, indiquez leur type dans la première ligne. Si c'est Python:
#!/bin/python
Si c'est bash:
#!/bin/bash