Lancer un processus en AR plan : ps &
Script = prog en shell,
fichier texte à interpréter
Enchaîner
les cdes
les ps
· mode ligne (ligne de cde)
cde1; cde2; Þ le shell
courant interprète cde puis cde2
cde1 && cde2 Þ
succès cde1 Þ exé° cde 2
cde1 || cde2 Þ échec cde1 Þ exé° cde2
· lancer un script
:
ficScript Þ le shell courant va interpréter le
script
Attn : ficScript doit ê
exécutable
.
ficScript Þ le shell courant interprète le script
ksh ficScript Þ un nouveau shell va
interpréter le script
Rappel : 1 shell Û 1 xterm
ksh = langage
-
directives
= instructions (5)
-
variables
-
tableaux
-
fonctions
-
récursivité
Paramétrer un script : ligne de cde
nomSript
par1 par2
|
nom var |
contenu |
|
0 |
nom du script |
|
1 |
param 1 |
|
2 |
param 2 |
|
… |
… |
|
9 |
param 9 |
|
# |
nb de param |
|
* |
liste des param |
Rq : $1
= contenu
du param1
shift n Þ enlève les n premiers
paramètres
set ch1 ch2 Þ subsitue les param par les
chaînes correspdtes
0 Û oui Û vrai
1 Û faux
une
cde a toujours un code
retour
[ exp ] Þ teste exp, résultat
dans le code retour : ?
-a fic Þ fic existe ?
-d fic Þ fic est un répertoire
?
-f fic Þ fichier ordinaire ?
-s fic Þ taille (fic) ¹ 0 ?
-r fic Þ fic en lecture ?
-w fic Þ fic en écriture ?
-x fic Þ fic exécutable ?
ch1 = ch2 Þ ch1 = ch2 ?
ch1 != ch2 Þ ch1 ¹ ch2 ?
ch1=ch2 Þ ch1 ¬ ch2 : affectation
Attn : si on parle du contenu d'une variable,
mettre $var
|
nb1 |
-eq |
nb2 |
Þ |
nb1 |
= |
nb2 ? |
|
-ne |
¹ |
|||||
|
-lt |
< |
|||||
|
-le |
≤ |
|||||
|
-gt |
> |
|||||
|
-ge |
≥ |
exp1 || exp2 Þ OU logique
exp1 && exp2 Þ ET logique
Boucles
if <test>
then …
else …
fi
<test> est V ou F selon le code retour de la cde ou de l'expression
read var Þ var ¬ entrée clavier
while <test>
do
…
done
for var in val1 val2
do
…
done
Rq : val1 val2 peuvent être
· les résultats d'une cde
Ex : for
indice in `ls`
· le contenu d'une variable
Ex : for
indice in $*
case var in
motif1) cde1;
cde2;;
motif2) … ;;
*) … ;; #cas par défaut
esac
until <test>
do
…
done
break interrompt la boucle
#commentaires