Programmation Bash/Enchaînements et scripts

Scripts

modifier

Exécution d'un script

modifier

Il y a deux manières d'exécuter un script, soit en rendant le script exécutable, soit en passant le fichier comme argument à la commande ksh.

chmod +x script
./script
ksh script

Variables spéciales

modifier

Plusieurs variables spéciales sont disponibles lors de l'exécution d'un script.

  • $0 a pour valeur le nom du script ;
  • $1 jusqu'à $9 ont respectivement pour valeur les neuf premiers arguments du script ;
  • $# a pour valeur le nombre d'arguments passés au script ;
  • $@ contient la liste de tous les arguments du script.
  • $* contient la liste de tous les arguments du script (décomposée).

 

En ksh, à partir du dixième argument, il faut coder la valeur numérique entre accolades, exemple : ${10} pour le 10ème[1].

Pour tester si le script contient au moins un paramètre :

#!/bin/bash
if [ "x$1" = "x" ]
 then echo "argument vide"
 else echo "argument non vide"
fi

Enchaînements

modifier

Enchaînements simples

modifier
com1 & com2 & ... & comN

Les commandes com1 jusqu'à comN sont exécutées parallèlement.

com1 ; com2 ; ... ; comN

Les commandes com1 jusqu'à comN sont exécutées successivement.

Enchaînements conditionnels

modifier
com1 && com2 && ... && comN

Cet exemple va exécuter toutes les commandes com1 jusqu'à comN tant que celles ci se terminent correctement.

com1 || com2 || ... || comN

Dans cet exemple les commandes com1 jusqu'à comN seront exécutées successivement tant qu'aucune ne se termine correctement.

Références

modifier