Skip to content

Commit 682bb7d

Browse files
French translation for two chapters. (bobbyiliev#118)
1 parent f28a53f commit 682bb7d

File tree

2 files changed

+297
-0
lines changed

2 files changed

+297
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Les Arrays en Bash
2+
3+
Si vous avez déjà fait de la programmation, vous savez probablement déjà ce qu'est un array.
4+
5+
Mais au cas où vous ne seriez pas un développeur, le plus important est que vous sachiez que, contrairement aux variables, les arrays peuvent contenir plusieurs valeurs sous un même nom.
6+
7+
Vous pouvez initialiser un array en lui assignant des valeurs séparées par des espaces et contenues dans des parenthèses `()`. Par exemple:
8+
9+
```bash
10+
mon_array=("valeur 1" "valeur 2" "valeur 3" "valeur 4")
11+
```
12+
13+
Pour accéder aux éléments de l'array, vous devez les référencer en utilisant leur indice numérique.
14+
15+
>{notice} retenez bien que vous devez utiliser des accolades `{}`.
16+
17+
* Accéder à un seul élément, ce code affichera : `valeur 2`
18+
19+
```bash
20+
echo ${mon_array[1]}
21+
```
22+
23+
* Ce code renvoie le dernier élément: `valeur 4`
24+
25+
```bash
26+
echo ${mon_array[-1]}
27+
```
28+
29+
* Comme pour les arguments en ligne de commande, utiliser `@` renverra tous les éléments de l'array, comme suit : `valeur 1 valeur 2 valeur 3 valeur 4`
30+
31+
```bash
32+
echo ${mon_array[@]}
33+
```
34+
35+
* Précéder le nom de l'array avec un croisillon (`#`) renverra le nombre total d'éléments dans l'array, `4` dans notre cas:
36+
37+
```bash
38+
echo ${#mon_array[@]}
39+
```
40+
41+
Pensez bien à tester ce code et à vous entrainer avec différentes valeurs.
42+
43+
## Les sous-chaînes de caractères (substrings) en Bash : Le découpage
44+
45+
Regardons l'exemple suivant de découpage d'une chaîne de caractères (string) en Bash:
46+
47+
```bash
48+
#!/bin/bash
49+
50+
lettres=( "A""B""C""D""E" )
51+
echo ${lettres[@]}
52+
```
53+
54+
Cette commande affichera tous les éléments de l'array.
55+
56+
Sortie :
57+
58+
```bash
59+
$ ABCDE
60+
```
61+
62+
63+
Regardons quelques exemples supplémentaires :
64+
65+
- Exemple 1
66+
67+
```bash
68+
#!/bin/bash
69+
70+
lettres=( "A""B""C""D""E" )
71+
b=${lettres:0:2}
72+
echo "${b}"
73+
```
74+
75+
Cette commande affiche l'array depuis l'indice 0 (le premier de l'array) jusqu'à 2 non inclus.
76+
77+
```bash
78+
$ AB
79+
```
80+
81+
- Exemple 2
82+
83+
```bash
84+
#!/bin/bash
85+
86+
lettres=( "A""B""C""D""E" )
87+
b=${lettres::5}
88+
echo "${b}"
89+
```
90+
91+
Cette commande affiche les éléments depuis l'indice 0 jusqu'à 5 non inclus, l'indice de départ est initialisé à 0 par défaut.
92+
93+
```bash
94+
$ ABCDE
95+
```
96+
97+
- Exemple 3
98+
99+
```bash
100+
#!/bin/bash
101+
102+
lettres=( "A""B""C""D""E" )
103+
b=${lettres:3}
104+
echo "${b}"
105+
```
106+
107+
Cette commande affiche les éléments depuis l'indice 3 jusqu'à la fin de l'array incluse.
108+
109+
```bash
110+
$ DE
111+
```
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# Les Expressions Conditionnelles en Bash
2+
3+
En informatique, les affirmations conditionnelles, expressions conditionnelles et constructions conditionnelles sont des fonctionnalités d'un langage de programmation qui effectuent des opérations différentes en fonction de la valeur booléenne d'une condition spécifiée par le développeur, `true` (vrai) ou `false` (faux).
4+
5+
En Bash, les expressions conditionnelles utilisent les commandes `[[` et `[` pour tester les attributs d'un fichier et effectuer des comparaisons arithmétiques ou à partir de strings.
6+
7+
Voici une liste des expressions conditionnelles Bash les plus populaires. Vous n'avez pas besoin de les retenir par coeur. Vous pouvez simplement vous référer à cette liste quand vous en avez besoin !
8+
9+
## Expressions à partir d'un fichier
10+
11+
* Vrai si le fichier existe.
12+
13+
```bash
14+
[[ -a ${fichier} ]]
15+
```
16+
17+
* Vrai si le fichier existe et est un fichier spécial en mode bloc (block special file).
18+
19+
```bash
20+
[[ -b ${fichier} ]]
21+
```
22+
23+
* Vrai si le fichier existe et est un fichier spécial en mode caractère (character special file).
24+
25+
```bash
26+
[[ -c ${fichier} ]]
27+
```
28+
29+
* Vrai si le fichier existe et est un dossier.
30+
31+
```bash
32+
[[ -d ${fichier} ]]
33+
```
34+
35+
* Vrai si le fichier existe.
36+
37+
```bash
38+
[[ -e ${fichier} ]]
39+
```
40+
41+
* Vrai si le fichier existe et est un fichier normal.
42+
43+
```bash
44+
[[ -f ${fichier} ]]
45+
```
46+
47+
* Vrai si le fichier existe et est un lien symbolique.
48+
49+
```bash
50+
[[ -h ${fichier} ]]
51+
```
52+
53+
* Vrai si le fichier existe et est lisible.
54+
55+
```bash
56+
[[ -r ${fichier} ]]
57+
```
58+
59+
* Vrai si le fichier existe et a une taille supérieure à zéro.
60+
61+
```bash
62+
[[ -s ${fichier} ]]
63+
```
64+
65+
* Vrai si le fichier existe et peut recevoir des écritures.
66+
67+
```bash
68+
[[ -w ${fichier} ]]
69+
```
70+
71+
* Vrai si le fichier existe et est exécutable.
72+
73+
```bash
74+
[[ -x ${fichier} ]]
75+
```
76+
77+
* Vrai si le fichier existe et est un lien symbolique.
78+
79+
```bash
80+
[[ -L ${fichier} ]]
81+
```
82+
83+
## Les expressions sur des strings
84+
85+
* Vrai si la variable varname existe (on lui a assigné une valeur).
86+
87+
```bash
88+
[[ -v ${varname} ]]
89+
```
90+
91+
* Vrai si la string a une longueur égale à 0.
92+
93+
```bash
94+
[[ -z ${string} ]]
95+
```
96+
97+
* Vrai si la string a une longueur différente de 0.
98+
99+
```bash
100+
[[ -n ${string} ]]
101+
```
102+
103+
* Vrai si les strings sont égales. `=` doit être utilisé avec la commande `[` pour être conforme à la norme POSIX. Quand vous utilisez la commande `[[`, vous cherchez des correspondances de motifs entre les deux strings.
104+
105+
```bash
106+
[[ ${string1} == ${string2} ]]
107+
```
108+
109+
* Vrai si les strings sont différentes.
110+
111+
```bash
112+
[[ ${string1} != ${string2} ]]
113+
```
114+
115+
* Vrai si string1 précède string2 alphabétiquement.
116+
117+
```bash
118+
[[ ${string1} < ${string2} ]]
119+
```
120+
121+
* Vrai si string1 suit string2 alphabétiquement.
122+
123+
```bash
124+
[[ ${string1} > ${string2} ]]
125+
```
126+
127+
## Les opérateurs arithmétiques
128+
129+
* Vrai si les nombres sont **égaux**.
130+
131+
```bash
132+
[[ ${arg1} -eq ${arg2} ]]
133+
```
134+
135+
* Vrai si les nombres ne sont **pas égaux**.
136+
137+
```bash
138+
[[ ${arg1} -ne ${arg2} ]]
139+
```
140+
141+
* Vrai si arg1 est **plus petit que** arg2.
142+
143+
```bash
144+
[[ ${arg1} -lt ${arg2} ]]
145+
```
146+
147+
* Vrai si arg1 est **plus petit ou égal à** arg2.
148+
149+
```bash
150+
[[ ${arg1} -le ${arg2} ]]
151+
```
152+
153+
* Vrai si arg1 est **plus grand que** arg2.
154+
155+
```bash
156+
[[ ${arg1} -gt ${arg2} ]]
157+
```
158+
159+
* Vrai si arg1 est **plus grand ou égal à** arg2.
160+
161+
```bash
162+
[[ ${arg1} -ge ${arg2} ]]
163+
```
164+
165+
Pour information, arg1 et arg2 peuvent être des entiers positifs ou négatifs.
166+
167+
Comme avec d'autres langages de programmation, vous pouvez utiliser les conditions `AND` (et) & `OR` (ou) :
168+
169+
```bash
170+
[[ test_case_1 ]] && [[ test_case_2 ]] # And
171+
[[ test_case_1 ]] || [[ test_case_2 ]] # Or
172+
```
173+
174+
## Opérateurs sur le statut de fin d'une commande
175+
176+
* Vrai si la commande a réussi et n'a pas rencontré d'erreur.
177+
178+
```bash
179+
[[ $? -eq 0 ]]
180+
```
181+
182+
* Vrai si la commande n'a pas réussi ou a rencontré une erreur.
183+
184+
```bash
185+
[[ $? -gt 0 ]]
186+
```

0 commit comments

Comments
 (0)