Cours03
Compl´ments e source
Shell(s) et langage(s) de script : Script
Formation continue — Universit´ Lille 1 e Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr
Licence trimestre 3 — 2008-09
V0 (27-01-2009)
www.fil.univ-lille1.fr/˜sedoglav/SHELL/Cours03.pdf
Shell(s) et langage(s) de script : Script
Compl´ments e source
Un fichier correspondant ` un script doit ˆtre ex´cutable par a e e un interpr´teur ; on doit donc syst´matiquement lui assigner e e les droits d’ex´cution : e
% chmod u+x monscriptamoi
Un script shell commence par la ligne
#!/chemin/acces/moninterpreteur
qui indique au syst`me que le fichier en cours d’ex´cution est e e compos´ de commandes devant ˆtre interpr´t´es par e e ee l’intrepr´teur moninterpreteur dont l’ex´cutable se trouve e e dans le r´pertoire /chemin/acces. e
V11 (27-01-2009)
www.fil.univ-lille1.fr/˜sedoglav/SHELL/Cours03.pdf
Shell(s) et langage(s) de script : Script
Compl´ments e source
Les param`tres de position dans un script correspondent aux e arguments de la ligne de commande invocant ce dernier. On peut bien sur utiliser tous les param`tres sp´ciaux et e e d´finir des variables. e Enfin, toutes les commandes, mot-clefs et expressions sont ` a disposition. Un retour chariot est un terminateur de commande comme l’indique l’exemple suivant : if [ $# -ne 2 ] ; then echo "pb" ; fi ` comparer avec la a conditionnelle du script qui suit.
V11 (27-01-2009)
www.fil.univ-lille1.fr/˜sedoglav/SHELL/Cours03.pdf
Shell(s) et langage(s) de script : Script
# Ceci est un commentaire #!/bin/bash NBPARAM=2 # nombre de param\‘etre du script usage() # Comment utiliser ce script { echo "Usage: ‘basename $0‘ firstparam secondparam" echo "Print "’firstparam’ and ’secondparam’"". return # juste pour dire que ca existe } # Test le nombre de param\‘etre et ex\’ecute # la fonction usage() s’il est different de~$2$ if [ $# -ne $NBPARAM ] then usage #