Exécuter un script shell

baissaoui Messages postés 498 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 21 août 2024 - 23 juin 2022 à 15:16
Document initial créé par lami20j

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

"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!"