Cours03

Shell(s) et langage(s) de script : Script

Compl´ments e source

Shell(s) et langage(s) de script : Script

Formation continue — Universit´ Lille 1 e Pour toutes remarques :[email protected]

Licence trimestre 3 — 2008-09

V0 (27-01-2009)

www.?l.univ-lille1.fr/˜sedoglav/SHELL/Cours03.pdf

Shell(s) et langage(s) de script : Script

Compl´ments e source

Un?chier 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 shellcommence par la ligne
#!/chemin/acces/moninterpreteur

qui indique au syst`me que le ?chier en cours d’ex´cution est e e compos´ de commandes devant ˆtre interpr´t´es par e e ee l’intrepr´teurmoninterpreteur dont l’ex´cutable se trouve e e dans le r´pertoire /chemin/acces. e

V11 (27-01-2009)

www.?l.univ-lille1.fr/˜sedoglav/SHELL/Cours03.pdf

Shell(s) et langage(s) de script : ScriptCompl´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 ee d´?nir des variables. e En?n, 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.?l.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 #…