Article original Publié le : 20 septembre 2022 Mise à jour le : – |
Un simple exo pour jouer avec la condition if
Si une chaine de caractère est présente dans le fichier, la commande prendra fin sinon elle ajoutera le contenu de la variable
Créer un fichier
1 2 3 4 5 6 7 8 |
$ cat > ~/test.txt <<EOF janvier septembre mars decembre mai juilet EOF |
Créer 2 variables
1 |
$ var1=janvier |
1 |
$ var2=avril |
Tester manuellement
Si
1 |
$ grep $var1 ~/test.txt |
1 |
janvier |
1 |
$ echo $? |
1 |
Alors
1 |
$ grep $var2 ~/test.txt |
1 |
$ echo $? |
1 |
1 |
La condition
1 |
$ if grep -q $var1 ~/test.txt; then echo 'Présent'; else echo 'Absent va donc être ajouté'; fi |
1 |
Présent |
1 |
$ if grep -q $var2 ~/test.txt; then echo 'Présent'; else echo 'Absent va donc être ajouté' && echo $var2 >> ~/test.txt; fi |
1 |
Absent va donc être ajouté |
1 |
$ cat ~/test.txt | grep $var2 |
1 |
avril |
C’est assez sommaire comme exo mais toujours utile de se rappeler des conditions quand on veut par exemple implémenter un fichier sans avoir a rajouté une ligne déjà existante (utilisation des doubles chevrons)