Memo Shell
Memo Shell
Aide-mémoire de la
" $ v a r 1 $ v a r 2 " fon ct i on _1 ( )
p rog rammat ion s h ell
garde la coh ésion de la ch aî ne en rem plaç ant les {
' $ v a r 1 $ v a r 2 ' }
Ce document d’accompagnement du stage
garde la ch aî ne inch angée ( pas de rem placem ent) , déf init la fonction_ 1 .
« P r ogr ammati on S h el l et L angages de
\ $ v a r fon ct i on _1 v a l e u r _1 v a l e u r _2 . . .
S cr i pts » r appel l e l es poi nts pr i nci paux à
le bac k s las h protè ge le $ q ui n’est pas interprété invoca tion de fonction_ 1 ; da ns la f onction les
r eteni r concer nant l a pr ogr ammati on pour
com m e caractè re spécial ( pas de rem placem ent) . a rguments sont da ns $1, $2 … e t le ur n o mb re da n s $# .
sh el l s B our ne et K or n.
local variable
© Christophe BLAESS 2003
déc la re un e va ri a b le lo c a le à la f o n c t i o n
S tructures de contrô le
return valeu r
while cmd_1 ; d o
variable=valeu r
comma n de s
affectation de variable av ec l a valeu r Motifs du shell
d o n e
Pas d’espace autour du signe égal !
Répète les commandes ta nt que cmd_ 1 renvoie vra i (0 ). *
tableau[ran g ] = v aleur
u n t il cmd_1 ; d o n ’i mpo rt e q ue lle c h a î n e de c a ra c t è re s ( mê me vi de ) ,
affectation d’un rang du t ableau avec la v aleur.
comma n de s ?
$ { v ariable}
d o n e n ’i mpo rt e q ue l c a ra c t è re ,
rem placé par le contenu de la v ariable,
Répète les commandes ta nt que cmd_ 1 renvoie f a ux. \ * \ ? \ \
$ { tableau[ran g ] }
f o r v a r i a b l e in l i st e ; d o C a ra c t è re s * , ? , \ ,
rem placé par le contenu du rang du t ableau,
comma n de s [ l i s t e ]
$ { v ariable- v aleur}
d o n e C a ra c t è re s l , i , s , t , e
rem placé par la v aleur si la v ariable n’est pas définie,
Répète les commandes en remplissa nt la v ariable a vec [ b - e ]
$ { v ariable= v aleur}
les éléments successif s de la liste. C a ra c t è re s b , c , d , e
affectation de la v ariable si elle n’est pas définie,
b r ea k [ ^ l i s t e ]
$ { v ariable? v aleur}
sort directement d’une boucle f o r , w h i l e ou u n t i l . N ’i mpo rt e q ue l c a ra c t è re h o rs de la li st e
affich er le m es s age et fin du sh ell si v ariable indéfinie.
c o n t in u e
$ { # v ariable}
pa sse à l’itéra tion suiva nte de la boucle.
est rem placé par la longueur du contenu de la v ariable, R edirections
Tests
$ { v ariable# m o tif }
c o m m an d e < f ic h ier
if cmd_1 ; t hen
est rem placé par le contenu de la v ariable privé du plus
cmd_2 e n t rée st a n da rd de pui s fichier,
court préfix e correspondant au m o t if ,
c o m m an d e > f ic h ier
elif cmd_3 ; t hen
$ { v ariable% m o tif }
cmd_4 so rt i e st a n da rd ve rs fichier,
est rem placé par le contenu de la v ariable privé du plus
c o m m an d e > > f ic h ier
els e
court suffix e correspondant au m o t if ,
cmd_5 so rt i e st a n da rd a j o ut ée e n f i n de fichier,
$ { v ariable# # m o tif } $ { v ariable% % m o tif }
c o m m an d e 2 > f ic h ier
f i
suppression du préfix e ou suffix e le plus long possib le.
so rt i e d’e rre ur ve rs fichier,
S i cmd_ 1 renvoie vra i exécute cmd_ 2 . S inon si cmd_ 3
~ utilis ateur/
c o m m an d e 2 > > f ic h ier
renvoie vra i, exécute cmd_ 4 , sinon exécute cmd_ 5 .
rem placé par le répertoire personnel de l’ut ilis at eur,
c a s e e xpr e ssi on in so rt i e d’e rre ur a j o ut ée e n f i n de fichier,
a b { c , d , e } f g
c o m m an d e 2 > & 1
mot i f_1 ) cmd_1 ; ;
est développé en a b c f g a b d f g a b e f g
mot i f_2 | mot i f_3 ) cmd_2 ; ; so rt i e d’e rre ur i de n t i q ue à so rt i e st a n da rd,
$ ( c o m m an d e)
* ) cmd_3 ; ; c o m m an d e < < - E T I Q U E T T E
rem placé par la sortie standard de la c o m m and e,
es a c lig n es à en vo y er
$ ( ( ex p res s io n ) )
vers l’ en t ré e s t an d ard
S i l’ex p ression peut correspondre a u motif_ 1 , exécute
rem placé par le résultat de l’évaluation arith m étiq ue
d e la c o m m an d e
cmd_ 1 , sinon si elle correspond a u motif_ 2 ou motif_ 3 ,
entiè re de l’ ex p res s io n.
E T I Q U E T T E
exécute cmd_ 2 , sinon exécute cmd_ 3 .
do c ume n t e n li gn e e n vo y é ve rs l’e n t rée st a n da rd.
Exécution des commandes test pw d