Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [07/07/2014 11:34] Hypathie [Écriture utile pour les boucles] |
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [25/02/2023 14:02] agp91 |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : suite de la série de wiki visant à maîtriser bash via les différents caractère spéciaux. | * Objet : suite de la série de wiki visant à maîtriser bash via les différents caractère spéciaux. | ||
- | * Niveau requis : {{tag>débutant}} | + | * Niveau requis : {{tag>débutant avisé}} |
* Commentaires : scripts | * Commentaires : scripts | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester }} | + | * Suivi : {{tag>en-chantier}} |
- | * Création par [[user>Hypathie]] 08/04/2014 | + | * Création par [[user>Hypathie]] le 08/04/2014 |
- | * Testé par Hypathie le Avril 2014 | + | * Testé par [[user>Hypathie]] Avril 2014 |
- | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=87499#p87499 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=140882#p140882 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | * [[atelier:chantier:bash-les-differents-caracteres-speciaux|Vision d'ensemble]] | + | * [[doc:programmation:shells:bash-les-differents-caracteres-speciaux|Vision d'ensemble]] |
- | * [[atelier:chantier:la-page-man-bash-les-caracteres-speciaux|Détail et caractères]] | + | * [[doc:programmation:shells:la-page-man-bash-les-caracteres-speciaux|Détail et caractères]] |
- | * [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]] | + | * [[doc:programmation:shells:la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]] |
- | * [[atelier:chantier:page-man-bash-iii-les-operateurs-de-comparaison-numerique|Les opérateurs de comparaison numérique]] | + | * [[doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique|Les opérateurs de comparaison numérique]] |
- | * [[atelier:chantier:page-man-bash-v-les-tableaux|Les tableaux]] | + | * ;-) |
- | * [[atelier:chantier:man-bash-vi-les-caracteres-de-transformation-de-parametres|Les caractères de transformation de parametres]] | + | * [[doc:programmation:shells:page-man-bash-v-les-tableaux|Les tableaux]] |
- | * [[atelier:chantier:bash-vii-globs-etendus-regex| Globs étendus et regex]] | + | * [[doc:programmation:shells:man-bash-vi-les-caracteres-de-transformation-de-parametres|Les caractères de transformation de parametres]] |
+ | * [[doc:programmation:shells:bash-vii-globs-etendus-regex| Bash : Variables, globs étendus, ERb, ERe]] | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | + | <note important> |
+ | Page en court de réécriture | ||
+ | </note> | ||
+ | ===== Introduction ===== | ||
- | =====Opérateurs arithmétiques ===== | + | Dans la page précédente ([[doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique|Les opérateurs de comparaison numérique]]), nous avons abordé la commande interne **let** et la commande composée **<nowiki>((...))</nowiki>**.\\ |
+ | Nous complémentons ici leurs usages, pour réaliser des opérations mathématiques. | ||
- | ^opérateurs ^opérations ^ | + | Les commandes **let** et **<nowiki>((...))</nowiki>** sont les seules commandes internes que bash dispose pour réaliser des opérations mathématiques.\\ |
- | | <code>+</code> | addition | | + | A travers elles, bash est limité à opérer que sur des entiers signés (positifs ou négatifs).\\ |
- | | <code>-</code> | soustraction | | + | Le résultat de l'évaluation d'une expression sera toujours un entier décimal signé. |
- | | <code>/</code> | division (récup. le quotient) | | + | |
- | | <code>%</code> | modulo (récup. le reste) | | + | |
- | | <code>*</code> | multiplication | | + | |
- | | <code>** </code> | puissance (bash 2.02 et sup.) | | + | |
- | **Pour les calculs complexes bash n'est pas adapté, il faut utiliser le langage bc.** | + | Pour réaliser des opérations avec des nombres à virgule ou plus complexes, nous devons nous tourner vers des commandes externes tel que **bc** (non installé par défaut) ou **awk**. Ou alors utiliser d'autres langages interprétés tel que **perl**, **python**, etc (awk, perl et python sont disponibles par défaut sur les systèmes Debian). |
- | =====Opérateurs d'affectation arithmétique===== | + | Avec **let** et **<nowiki>((...))</nowiki>**, la plage numérique autorisée est : **-9223372036854775808 < 0 > 9223372036854775807** |
- | ^opérateurs ^opérations ^ | + | Après l'évaluation des expressions qu'elles contiennent, **let** et **<nowiki>((...))</nowiki>** renvoient le code de retour : |
- | | <code>=</code> | affectation arithmétique | | + | |
- | | <code>+=</code> | incrémentation | | + | |
- | | <code>-=</code> | décrémentation | | + | |
- | | <code>/=</code> | affectation par division | | + | |
- | | <code>+=</code> | affectation par multiplication | | + | |
- | | <code>%=</code> | afectation du reste | | + | |
- | **Voir :** | + | * **0**, si le résultat est inférieur ou supérieur à 0. |
- | * **[[atelier:chantier:script-bash-variables-arguments-parametres?&#typologie-des-variables|typologie de variables]]** | + | * **1**, si le résultat est égale à 0. |
- | * **[[atelier:chantier:script-bash-variables-arguments-parametres?&#variables-numeriques-et-calculs|variables numériques et calculs]]** | + | |
+ | La commande **<nowiki>((...))</nowiki>** peut-être préfixée du caractère de remplacement **$** pour former la commande **<nowiki>$((...))</nowiki>**, afin d’être remplacée par l'évaluation de l’expression qu'elle contient. | ||
+ | |||
+ | <note warning> | ||
+ | La commande **$[...]** équivalente à la commande **<nowiki>$((..))</nowiki>** __**ne doit plus être utilisée**__.\\ | ||
+ | \\ | ||
+ | Elle est délaissée depuis la version 2.0 de bash au profit de **<nowiki>((...))</nowiki>**.\\ | ||
+ | \\ | ||
+ | Pour des raisons de rétrocompatibilités, elle est toujours active dans nos bash modernes.\\ | ||
+ | Mais n'est plus documentée dans la page du manuel.\\ | ||
+ | \\ | ||
+ | Viendra un jour où, **$[...]** ne sera plus. | ||
+ | </note> | ||
+ | |||
+ | ===== Les systèmes numériques ===== | ||
+ | |||
+ | Les expressions numériques évaluées par **let** et **<nowiki>((...))</nowiki>** peuvent contenir des nombres de différent système numérique.\\ | ||
+ | |||
+ | L'évaluation des expression (le résultat) sera toujours retourné en entier décimal. | ||
+ | |||
+ | * Sans précision les nombres sont en base 10 (décimal). | ||
+ | * Préfixé d'un **0**, le nombre est un octal (base 8). | ||
+ | * Préfixé de **0x** (ou **0X**), le nombre est un hexadécimal (base 16). | ||
+ | |||
+ | Si non, la syntaxe suivante peut-être utilisée : | ||
+ | |||
+ | * [**base#**]**n** | ||
+ | |||
+ | Avec : | ||
+ | |||
+ | * **base#** où **base** est un nombre en décimal désignant la base utilisée (de 2 à 64). | ||
+ | * **n** Le nombre lui même : | ||
+ | * Jusqu'à la base 10, le nombre contient que des chiffres. | ||
+ | * De la base 11 à la base 36, les lettres minuscules ou majuscules peuvent être utilisées indifféremment. | ||
+ | * De la base 37 à la base 64, les lettres minuscules, majuscules, @ et _ sont à utiliser dans cet ordre. | ||
+ | ===== Les opérateurs arithmétiques ===== | ||
+ | |||
+ | Les opérateurs arithmétiques permettent de réaliser des calculs numériques classiques. | ||
+ | |||
+ | | Liste des opérateurs arithmétiques ||| | ||
+ | ^ Opérateurs ^ Désignations ^ Résultats ^ | ||
+ | | Opérateurs unaires ||| | ||
+ | | **''+''** //expr// | Signe positif | Valeur de //expr// | | ||
+ | | **''-''** //expr// | Signe négatif | Opposé de //expr// | | ||
+ | | Opérateurs binaires ||| | ||
+ | | //expr1// **''+''** //expr2// | Addition | //expr2// ajouté à //expr1// | | ||
+ | | //expr1// **''-''** //expr2// | Soustraction | //expr2// retiré de //expr1// | | ||
+ | | //expr1// **''*''** //expr2// | Multiplication| //expr1// multiplié par //expr2// | | ||
+ | | //expr1// **''/''** //expr2// | Division | //expr1// divisé par //expr2// | | ||
+ | | //expr1// **''%''** //expr2// | Modulo | Reste de la division de //expr1// par //expr2// | | ||
+ | | //expr1// **''<nowiki>**</nowiki>''** //expr2//| Puissance | //expr1// multiplié par lui-même //expr2// fois | | ||
+ | |||
+ | Exemples : | ||
+ | |||
+ | <code user> | ||
+ | a=42 # Affecte 42 à la variable a | ||
+ | echo $((-a)) # Retourne l'opposé de la valeur contenue dans la variable a. | ||
+ | |||
+ | echo $((21+025)) # Retourne l’addition de l'octal 25 au décimal 21. | ||
+ | |||
+ | echo 3/2=$((3/2)) # Retourne 3/2 | ||
+ | echo 3/2 reste $((3%2)) # Retourne le reste de 3/2 | ||
+ | |||
+ | echo a=$a a^2=$((a**2)) # Retourne la valeur de la variable élevée à la puissance 2 | ||
+ | |||
+ | unset a | ||
+ | </code><code> | ||
+ | -42 | ||
+ | 42 | ||
+ | 3/2=1 | ||
+ | 3/2 reste 1 | ||
+ | a=42 a^2=1764 | ||
+ | </code> | ||
+ | ===== Les opérateurs d'affectation ===== | ||
+ | |||
+ | Les opérateurs d'affectation, permettent affecter une valeur à une variable ou d'en modifier la valeur. | ||
+ | |||
+ | | Liste des opérateurs d'affectation ||| | ||
+ | ^ Opérateurs ^ Désignations ^ Résultats ^ | ||
+ | | Opérateurs unaires ||| | ||
+ | | **''++''** //var// | Ré-affectation par la pré-incrémentation à 1 | //var// = //var// + 1 puis retourne //var// | | ||
+ | | //var// **''++''** | Ré-affectation par la post-incrémentation à 1 | Retourne //var//, puis //var// = //var// + 1 | | ||
+ | | **''--''** //var// | Ré-affectation par la pré-décrémentation à 1 | //var// = //var// - 1 puis retourne //var// | | ||
+ | | //var// **''--''** | Ré-affectation par la post-décrémentation à 1 | Retourne //var//, puis //var// = //var// - 1 | | ||
+ | | Opérateurs binaires ||| | ||
+ | | //var// **''=''** //expr// | Simple affectation | Affecte //epxr// à la variable //var//| | ||
+ | | //var// **''+=''** //expr// | Ré-affectation par l'incrémentation | //var// = //var// + //expr// | | ||
+ | | //var// **''-=''** //expr// | Ré-affectation par la décrémentation | //var// = //var// - //expr// | | ||
+ | | //var// **''*=''** //expr// | Ré-affectation par la multiplication | //var// = //var// * //expr// | | ||
+ | | //var// **''/=''** //expr// | Ré-affectation par la division | //var// = //var// / //expr// | | ||
+ | | //var// **''%=''** //expr// | Ré-affectation par modulo | //var// = //var// % //expr// | | ||
+ | |||
+ | Exemples : | ||
+ | |||
+ | <code user> | ||
+ | declare -p a | ||
+ | let a=24 ; declare -p a | ||
+ | ((a=42)) ; echo a=$a | ||
+ | |||
+ | let 'a += 42' ; echo "a+=42 -> a=$a" | ||
+ | (( a /= 2 )) ; echo "a/=2 -> a=$a" | ||
+ | |||
+ | unset a | ||
+ | </code><code> | ||
+ | bash: declare: a : non trouvé | ||
+ | declare -- a="24" | ||
+ | a=42 | ||
+ | a+=42 -> a=84 | ||
+ | a/=2 -> a=42 | ||
+ | </code> | ||
+ | |||
+ | <note> | ||
+ | Contrairement à la commande **declare -i**, les commandes **let** et **<nowiki>((..))</nowiki>** ne donnent pas l'attribut numérique (**-i**) à une variable. | ||
+ | </note> | ||
+ | |||
+ | <code user> | ||
+ | declare -i b=42 | ||
+ | declare -p b | ||
+ | echo "Pré-incrémentation à 1 : Avant b=$b ; Pendant b=$((++b)) ; Après : b=$b" | ||
+ | echo "Post-décrémentation à 1 : Avant b=$b ; Pendant b=$((b--)) ; Après : b=$b" | ||
+ | |||
+ | unset b | ||
+ | </code><code> | ||
+ | declare -i b="42" | ||
+ | Pré-incrémentation à 1 : Avant b=42 ; Pendant b=43 ; Après : b=43 | ||
+ | Post-décrémentation à 1 : Avant b=43 ; Pendant b=43 ; Après : b=42 | ||
+ | </code> | ||
+ | |||
+ | Voir aussi : | ||
+ | * **[[doc:programmation:shells:script-bash-variables-arguments-parametres?&#typologie-des-variables|typologie de variables]]** | ||
+ | * **[[doc:programmation:shells:script-bash-variables-arguments-parametres?&#variables-numeriques-et-calculs|variables numériques et calculs]]** | ||
+ | |||
+ | ===== Les opérateurs relationnels ===== | ||
+ | |||
+ | Les opérateurs relationnels permettent la comparaison entre deux epressions numériques.\\ | ||
+ | Voir [[doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique#comparaison-numerique-avec|Comparaison numérique avec ((...))]] | ||
+ | |||
+ | ===== Les opérateurs bit-à-bit ===== | ||
+ | |||
+ | Les opérateurs bit-bit, opèrent sur des nombres binaires (une suite de 0 ou de 1). | ||
+ | Les nombres sont d'abords convertis en binaire, l’opération est appliquée, puis le résultat est reconverti en décimal. | ||
+ | |||
+ | | Liste des opérateurs bit-à-bit ||| | ||
+ | ^ Opérateurs ^ Désignations ^ Résultats ^ | ||
+ | | Opérateur unaire ||| | ||
+ | | **''~''** //expr// | Négation binaire | Retourne le complément à 1 de //expr//\\ (~1 -> 0 ; ~0 -> 1) | | ||
+ | | Opérateurs binaires ||| | ||
+ | | //expr1// **''&''** //expr2// | ET binaire | Retourne le ET bit-à-bit entre //expr1// et //expr2//\\ (1 ET 1 -> 1 ; 0 ET 0 -> 0 ; 1 ET 0 -> 0 ; 0 ET 1 -> 0) | | ||
+ | | //expr1// **''|''** //expr2// | OU binaire | Retourne le OU bit-à-bit entre //expr1// et //expr2//\\ (1 OU 1 -> 1 ; 0 OU 0 -> 0 ; 1 OU 0 -> 1 ; 0 OU 1 -> 1) | | ||
+ | | //expr1// **''^''** //expr2// | OU binaire exclusif (XOR) | Retourne le OU bit-à-bit exclusif entre //expr1// et //expr2//\\ (1 XOR 1 -> 0 ; 0 XOR 0 -> 0 ; 1 XOR 0 -> 1 ; 0 XOR 1 -> 1) | | ||
+ | | //expr1// **''<nowiki><<</nowiki>''** //expr2//| Décalage binaire à gauche | Retourne le décalage de //expr2// bit(s) à gauche de //expr1//\\ (//expr2// 0 ajoutés(s) à droite d'//expr1//) | | ||
+ | | //expr1// **''<nowiki>>></nowiki>''** //expr2//| Décalage binaire à droite | Retourne le décalage de //expr2// bit(s) à droite de //expr1//\\ (//expr2// bit(s) tronqué(s) à droite d'//expr1//) | | ||
+ | |||
+ | Exemples | ||
+ | <code user> | ||
+ | echo $((~42)) | ||
+ | echo $((42^42)) | ||
+ | echo $((42<<2)) | ||
+ | </code><code> | ||
+ | -43 | ||
+ | 0 | ||
+ | 168 | ||
+ | </code> | ||
+ | |||
+ | Voir aussi : | ||
+ | |||
+ | * [[atelier:chantier:bash:les-operations-binaires|Les opérations binaire]] | ||
=====Opérateurs binaires ===== | =====Opérateurs binaires ===== | ||
Ces opérateurs s'utilisent sur des binaires, (sur des 1 et des zéro). | Ces opérateurs s'utilisent sur des binaires, (sur des 1 et des zéro). | ||
^ Opérateurs ^ significations ^ | ^ Opérateurs ^ significations ^ | ||
- | | <code><< </code> | décalage d'un bit à gauche (=mutiplication par deux) | | + | | ''<<'' | décalage d'un bit à gauche (=mutiplication par deux) | |
- | | <code>>> </code> | décalage d'un bit à droite (=division par deux) | | + | | ''>>'' | décalage d'un bit à droite (=division par deux) | |
- | | <code>&</code> | ET logique (ex : on a une variable=1; si on fait &1 cela fait 1 (en binaire 1 et 1 = 1)| | + | | ''&<'' | "et" logique (ex : on a une variable=1; si on fait &1 cela fait 1 (en binaire 1 et 1 = 1)| |
- | | <code>|</code> | OU (inclusif) binaire | | + | | ''|<'' | ou (inclusif) binaire | |
- | | <code>~</code> | NON binaire | | + | | ''~'' | non binaire | |
- | | <code>^</code> | XOR (ou exclusif) binaire | | + | | ''^'' | XOR (ou exclusif) binaire | |
<note> | <note> | ||
- | REMARQUE | + | Le ''&<'' ( "et" binaire), le ''|<'' ("ou" binaire), et le ''~'' ("non" binaire)\\ peuvent aussi être remplacés (de façon équivalente) par les opérateurs logiques que l'on a vus au sujet de la composition de commandes sur erreur ou sur réussite. |
- | Les **"ET, OU et NON" logiques** peuvent aussi être remplacés (de façon équivalente) par les **opérateurs logiques** que l'on a vu pour la composition de commandes sur erreur et sur réussite. | + | |
- | + | ||
- | > && : exécution de la commande suivante si, et seulement si la précédente renvoie 0 | + | |
- | > || : exécutuion de la commande suivante si, et seulement si la précédente renvoie autre chose que 0 | + | |
- | > ! : inverse du retour d'une commande, c'est à dire un "NON" logique | + | |
+ | > ''&&'' : exécution de la commande suivante si, et seulement si la précédente renvoie 0 | ||
+ | > | ||
+ | > ''||'' : exécution de la commande suivante si, et seulement si la précédente renvoie autre chose que 0 | ||
+ | > | ||
+ | > ''!'' : inverse du retour d'une commande, c'est à dire un "non" logique | ||
+ | ^_^ | ||
</note> | </note> | ||
===== Écriture utile pour les boucles ===== | ===== Écriture utile pour les boucles ===== | ||
- | ===post-incrémentation et pré-incrémentation :=== | + | ===Post-incrémentation et pré-incrémentation :=== |
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
declare -i x=20 y # ici les signes = permettent une affection | declare -i x=20 y # ici les signes = permettent une affection | ||
(( y = x++ )) # d'abord la valeur de x est conservée dans la valeur de y (donc $y= 20) puis la valeur | (( y = x++ )) # d'abord la valeur de x est conservée dans la valeur de y (donc $y= 20) puis la valeur | ||
- | # de x est incrémenté ($x est donc égal à 21) | + | # de x est incrémentée ($x est donc égal à 21) |
# les espaces autour du signe = ne sont pas obligatoires | # les espaces autour du signe = ne sont pas obligatoires | ||
echo "y=$y x=$x" # réponse : y=20 x=21 | echo "y=$y x=$x" # réponse : y=20 x=21 | ||
</code> | </code> | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
declare -i x=20 y | declare -i x=20 y | ||
(( y = ++x )) # d'abord la valeur de x est incrémentée puis la valeur de y reçoit | (( y = ++x )) # d'abord la valeur de x est incrémentée puis la valeur de y reçoit | ||
- | # la valeur du x incrémentée | + | # la valeur du x incrémenté |
# les espaces autour du signe = ne sont pas obligatoires | # les espaces autour du signe = ne sont pas obligatoires | ||
echo "y=$y x=$x" # réponse : y=21 x=21 | echo "y=$y x=$x" # réponse : y=21 x=21 | ||
</code> | </code> | ||
- | ===post-décrémentation et pré-décrémentation :=== | + | ===Post-décrémentation et pré-décrémentation :=== |
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
declare -i x=20 y | declare -i x=20 y | ||
(( y = x-- )) # d'abord la valeur de x est conservée dans la valeur de y (donc $y= 20) | (( y = x-- )) # d'abord la valeur de x est conservée dans la valeur de y (donc $y= 20) | ||
- | # puis la valeur de x est décrémenté ($x est donc égal à 19) | + | # puis la valeur de x est décrémentée ($x est donc égal à 19) |
# les espaces autour du signe = ne sont pas obligatoires | # les espaces autour du signe = ne sont pas obligatoires | ||
echo "y=$y x=$x" # réponse : y=20 x=19 | echo "y=$y x=$x" # réponse : y=20 x=19 | ||
</code> | </code> | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
declare -i x=20 y | declare -i x=20 y | ||
(( y = --x )) # d'abord la valeur de x est décrémentée ($x=19), puis la valeur de y | (( y = --x )) # d'abord la valeur de x est décrémentée ($x=19), puis la valeur de y | ||
- | # reçoit la valeur du x incrémentée (donc $y=19) | + | # reçoit la valeur du x incrémenté (donc $y=19) |
# les espaces autour du signe = ne sont pas obligatoires | # les espaces autour du signe = ne sont pas obligatoires | ||
echo "y=$y x=$x" # réponse : y=19 x=19 | echo "y=$y x=$x" # réponse : y=19 x=19 | ||
</code> | </code> | ||
+ | <note tip> | ||
+ | En bref,\\ | ||
+ | __**Post-incrémentation/décrémentation**__ : Les signes d'incrémentation (**''++''**) ou de décrémentation (**''<nowiki>--</nowiki>''**) sont placés **après** une valeur à incrémentée (+1) ou à décrémenter (-1) ; cette valeur est conservée dans "y" puis elle est **incrémentée (+1)** ou **décrémentée (-1)**.\\ | ||
+ | __**Pré-incrémentation/décrémentation**__ : Les signes d'incrémentation (**''++''**) ou de décrémentation (**''<nowiki>--</nowiki>''**) sont placés **avant** une valeur à incrémentée ou à décrémenter ; cette valeur est **incrémentée (+1)** ou **décrémentée (-1)** puis elle est conservée dans "y". | ||
+ | </note> | ||
=====Tuto précédent ===== | =====Tuto précédent ===== | ||
- | [[atelier:chantier:page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]] | + | [[doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]] |
=====La suite, c'est ici ===== | =====La suite, c'est ici ===== | ||
- | [[atelier:chantier:page-man-bash-v-les-tableaux|Bash : les tableaux]] | + | [[doc:programmation:shells:page-man-bash-v-les-tableaux|Bash : les tableaux]] |