Exécuter un script shell

Décembre 2016


Exécution d'un script


Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités :








Premièrement, rendez votre script exécutable : voir l'article Attributions et droits sous GNU/Linux

Ex:
chmod +x /home/lami20j/mes_scripts/script.sh
chmod 0755 /home/lami20j/mes_scripts/script.sh

1. Le chemin absolu


Quel que soit l'emplacement où vous vous trouvez, tapez
/home/lami20j/mes_scripts/script.sh

2. Le chemin relatif


Dans ce cas, il faut aller dans le répertoire qui contient l'exécutable
cd /home/lami20j/mes_scripts/
Pour exécuter le script, tapez
./script.sh
Si vous êtes trop descendu dans l'arborescence, il faut utiliser . et ..
  • . - répertoire courant
  • .. - répertoire parent


Ex:

Le script se trouve toujours dans /home/lami20j/mes_scripts/
Je me trouve dans /home/lami20j/bin/perl_scripts/
Pour exécuter le script à partir de cet emplacement, je dois taper
../../mes_scripts/script.sh

3. Modifier la variable PATH


Pour faire ça, on va ajouter le chemin qui contient le script à la variable PATH
export PATH=$PATH:/home/lami20j/mes_scripts
Pour exécuter le script, tapez
script.sh
Pour plus de détails, regardez variable PATH

Note: Le Sha-Bang


Il est aussi important de définir un interpréteur pour votre script, car ce peut être un script destiné à un shell particulier (Bash, Csh, Python, Perl, etc....).
Par défaut, le script sera executé par le shell courant, mais vous pouvez forcer l'interprétation par un shell précis.
Pour cela, il suffit d'ajouter ce qu'on appelle un Sha-Bang, c'est-à-dire les caractères #! suivis du chemin vers l'interpréteur.

Exemple avec python:
#!/usr/bin/python

print "Je suis un script python!"

A voir également :

Ce document intitulé «  Exécuter un script shell  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.