Script bash

De wiki jackbot
Aller à la navigation Aller à la recherche

Les scripts bash rendent bien service en permettant d'automatiser certaines tâches. Ils sont facile à prendre en main, mais il peut être intéressant de savoir comment les écrire proprement.

Les paramètres

Un script qui fait une tâche, c'est bien, mais un script capable de moduler son comportement en fonction des paramètres qu'on lui fournit, c'est mieux !!

Globalement dans un script

Voici le code minimal pour gérer les paramètres fournit :

while getopts "a:b:cd" OPT
do
	case "$OPT" in
		a)
			readonly VARIABLE1="${OPTARG}"
			;;

		b)
			readonly VARIABLE2="${OPTARG}"
			;;
			
		c)
			readonly VARIABLE3=true
			;;
			
		d)
			readonly VARIABLE4=false
			;;
	
		*)
			echo "parametres non valide"
			exit 1
			;;
	esac
done

On pourra appeler un tel script de la manière suivante :

$ ./script.sh -a parametre1 -b parametre2 -c -d

C'est cette ligne qui va dicter si oui ou non un paramètre devra être fournit

while getopts "a:b:cd" OPT

Quand la lettre est suivit du caractère ':', alors un paramètre sera attendu.

Dans une fonction

Si dans un script on appelle une fonction de la manière suivante :

fonction parametre1 parametre2

Alors on pourra retrouver la valeur de ces paramètres dans les variables "$1" et "$2" respectivement.

Exemple

function fonction_affiche_parametre()
{
  echo $1
  echo $2
}

fonction_affiche_parametre "hello" "world"

Cette fonction aura pour sortie :

hello
world