Programmation Bash/Enchaînements et scripts
Scripts
[modifier | modifier le wikicode]Exécution d'un script
[modifier | modifier le wikicode]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 | modifier le wikicode]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 | modifier le wikicode]Enchaînements simples
[modifier | modifier le wikicode]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 | modifier le wikicode]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.