Exécuter un script shell

Exécution d'un script

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

Notre vidéo

Chargement de votre vidéo
"FAQ : Exécuter un script shell"

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!"
Cet article est régulièrement mis à jour par des experts sous la
direction de Jean-François Pillou, fondateur de CommentCaMarche.
A voir également
Ce document intitulé « Exécuter un script shell » issu de Comment Ça Marche (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.