0% ont trouvé ce document utile (0 vote)
0 vues2 pages

Memo Shell

Ce document fournit un aide-mémoire sur la programmation shell, en mettant l'accent sur la protection des caractères spéciaux et les fonctions. Il décrit comment gérer les variables, les boucles, les structures de contrôle, et les redirections, tout en soulignant l'importance de la syntaxe correcte. Les exemples illustrent les commandes essentielles et les comparaisons nécessaires pour une utilisation efficace du shell.

Transféré par

winjefta85
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues2 pages

Memo Shell

Ce document fournit un aide-mémoire sur la programmation shell, en mettant l'accent sur la protection des caractères spéciaux et les fonctions. Il décrit comment gérer les variables, les boucles, les structures de contrôle, et les redirections, tout en soulignant l'importance de la syntaxe correcte. Les exemples illustrent les commandes essentielles et les comparaisons nécessaires pour une utilisation efficace du shell.

Transféré par

winjefta85
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Protection des caractères spéciaux Fonctions

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 {

variab les par leurs valeurs, comma n de s…

' $ 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

Évaluation des expressions Boucles t e rmi n e la f o n c t i o n e n re vo y a n t la va le ur e n re t o ur.

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

test condition affiche le répertoire de travail en cours.


Ligne shebang
[ condition ] expo rt
#! /bin/sh
L aisser des espaces autour des crochets ! exp ort v ariable
en tout début de script.
Renvoie une valeur vraie ou fausse suivant la condition. T ransfère la v ariable du shell dans l’environnement qui
P ip el ine
Comparaisons de valeurs numériques : sera transmis aux processus fils ultérieurs.
commande | commande | commande
- eq … égale à … env
sortie sta nda rd inj ectée da ns l’entrée de la suiva nte
- ne … différente de … affiche le contenu de l’environnement
Liste d e p ip el ines
- l t (- l e) … inférieure (ou égale) à … set
p ip eline ; p ip eline
- g t (- g e) … supérieure (ou égale) à … set
( exécutions séq uentielles)
T est sur les chaînes : affiche les variables du shell et l’environnement,
p ip eline & p ip eline
- n longueur non nulle set op tions
( exécutions pa ra llè les)
- z longueur nulle. configure des paramètres du shell :
p ip eline && p ip eline
Comparaisons de chaînes : - a exporter toutes les variables
( exécutions dépenda ntes)
= , != , < , > - u refuser les variables indéfinies
p ip eline || p ip eline
T ests sur les fichiers : - v afficher les lignes de commandes avant exécution
( exécutions a lterna tives)
- a existence du fichier, - x afficher les développements avant exécution
C o m m and es c o m p o sé es
- b périphérique mode bloc, u nset
{ liste de p ip elines }
- c périphérique caractère, unset v ariable
( regroupement de comma ndes)

( liste de p ip elines ) - d répertoire, efface une v ariable.

( sous- shell) - f fichier normal, geto pts

- g bit Set-G I D validé, w h i l e g etop ts " a b : c " v ariable ; do

- G appartenant au groupe de l’utilisateur, case $ v ariable i n


C ommandes internes essentielles
a) echo "opt° – a";;
- h lien symbolique,
ec ho b) echo "opt° – b, arg. $O PT A RG ";;
- k bit Stick y validé,
echo argum ents c) echo "opt° – c";;
- N modifié depuis la dernière lecture,
a f f iche les a rguments sépa rés pa r des espa ces. *) echo "opt° invalide"; ex it 1;;
- O appartient à l’utilisateur,
- n supprime le sa ut de ligne f ina l esac
- p tube nommé (fifo),
- e interprè te les séq uences spécia les. done
- r peut être lu,
r ead
- s taille non-nulle, sh i ft $( ( O PT IN D – 1))
read v ariables…
- S sock et, echo "arguments restants :"
remplit les variables a vec les mots successif s de la
- u bit Set-U I D validé, echo "$@ "
ligne lue ( sépa ra teur : contenu de la va ria ble I F S ) .
- w peut être écrit, ex it 0
Dernière variable reçoit tout ce qui reste. Par défaut,
- x peut être exécuté. Analyse la ligne de commande en fonction d’une liste
utilise variable REPLY. Renvoie faux en fin de fichier.
Comparaisons de fichiers : d’options. Si une option prend un argument (‘ : ’ après
exec
- ef … même fichier physique que …, sa lettre dans la liste), il est transmis dans O PT A RG .
exec commande
- nt … modifié plus récemment que …, Une fois toutes les options lues, le rang du premier
remplace le (script) shell en cours par la commande.
- ot … modifié plus anciennement que … argument restant est transmis dans O PT IN D .
exec redirections
T est sur les descripteurs : shift
applique les redirections indiquées au shell courant.
- t est un terminal sh i ft n
so u rce
cd décale les arguments en ligne de commande de n
source scrip t
c d r e p e r t o i r e rangs : $0 reste inchangé, $n+ 1 passe dans $1, $n+ 2
. scrip t

change de répertoire de travail, dans $2, etc.


interprète le scrip t dans le shell en cours.

exit cd – revient au répertoire précédent,

exi t v aleur cd revient au répertoire de connexion.

termine le (script) shell courant en renvoyant la v aleur.


© Christophe Blaess 2003

Vous aimerez peut-être aussi