Programmation Bash/Enchaînements et scripts

Un livre de Wikilivres.

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).

Logo

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.

Références[modifier | modifier le wikicode]