This commit is contained in:
Emmanuel Srivastava 2024-11-19 14:20:30 +01:00
parent a7550ed79f
commit 203fa2f355

View File

@ -0,0 +1,62 @@
I. Substitutions.
1. Si name est le nom dune variable, alors $name sera substitu´e par value
x=pop
Alors echo x ; affiche : pop , et echo $x ; affiche : le contenu de pop
x=5+7 ; Alors echo $x ; affiche : l'adition de 5+7 soit 12
PWD est une variable du shell qui retient le chemin complet vers le r´epertoire de travail
courant :
PWD: The current working directory as set by the cd command.
On veut afficher la chaˆıne de caract`eres :
Working directory: /export/home/students/quidam/SCR/
o`u ce qui vient apr`es les : doit se substituer, `a chaque fois, par le chemin complet du
r´epertoire courant.
Une ligne de commande qui le fait : echo
2.
On me remet un ficher list contenant une liste de noms d´el´ements dont je dois v´erifier
le type du contenu. Je veux avoir en un seul affichage le type du contenu de chacun des
´el´ements dont le nom est enregistr´e dans le fichier list :
Une ligne de commande qui le fait : echo $(ls list)
3.
x=5+7 (cf. 1) Alors echo $x ; affiche : le calcul de 5+7 qui est 12
x=$((5+7)) Alors echo $x ; affiche : aussi le calcul de 5+7 qui est 12 car le dollar
dans l'instanciation fait que x=(5+7) car le dollar a enlevé les parenthèses
y=5 ; z=-7
x=y*z ; alors echo $x ; affiche :le produit de y et z qui est -35
x=$((y*z)) ; alors echo $x ; affiche : pareil que la question dernière avec le meme raisonnement
que la question précedent celle d'avant
II. Expressions conditionnelles.
Put all together :
1. [[ myrmidon < myriade ]] ; echo $? ; affiche : 1 car elle est vraie dans l'ordre alphabetique
mymidon < myriade
2. [[ 4567 < 5 ]] ; echo $? ; affiche : 0 car 4567>5
3. [[ patate == potato ]] ; echo $? ; affiche : 0 car patate n'est pas le meme mot que potato
4. [[ patate -eq potato ]] ; echo $? ; affiche 0 car patate n'est pas égal à potato
II. Commandes compos´ees.
1. if list; then list; [ elif list; then list; ] ... [ else list; ] fi
(a) if [[ myrmidon < myriade ]]
> then echo "myrmidon sorts before myriade"
> else echo "myrmidon does not sort before myriade"
> fi
affiche : myrmidon sorts before myriade
car myrmidon est inférieur a myriade en terme alfabetiques.
(b) On lance deux fois de suite :
if [[ -d VROOM ]] ; then cd VROOM ; else mkdir VROOM ; fi
What will happen ?
La premiere fois mkdir VROOM car VROOM n'est pas un directory donc on ne lance pas la premiere condition
mais alors à la deuxieme fois cd VROOM sera lancé
2. for name in word(s) ; do list ; done
The list of word(s) following in is expanded, generating a list of items.
The variable name is set to each element of this list in turn, and the do list
is executed each time.
(a) for i in "1 2 3" ; do echo $i ; done ; sex´ecute . . . fois et affiche :