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 [09/07/2014 17:58] Hypathie [Opérateurs arithmétiques] |
||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
* [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]] | * [[atelier:chantier: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]] | * [[atelier:chantier: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: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]] | * [[atelier:chantier:man-bash-vi-les-caracteres-de-transformation-de-parametres|Les caractères de transformation de parametres]] | ||
Ligne 23: | Ligne 24: | ||
=====Opérateurs arithmétiques ===== | =====Opérateurs arithmétiques ===== | ||
- | ^opérateurs ^opérations ^ | + | ^opérateurs ^opérations ^ |
- | | <code>+</code> | addition | | + | | ''<nowiki> +</nowiki> '' | addition | |
- | | <code>-</code> | soustraction | | + | | '' <nowiki>-</nowiki> '' | soustraction | |
- | | <code>/</code> | division (récup. le quotient) | | + | | '' <nowiki>/</nowiki> '' | division (récup. le quotient) | |
- | | <code>%</code> | modulo (récup. le reste) | | + | | '' <nowiki>%</nowiki> '' | modulo (récup. le reste) | |
- | | <code>*</code> | multiplication | | + | | '' <nowiki>* </nowiki>'' | multiplication | |
- | | <code>** </code> | puissance (bash 2.02 et sup.) | | + | | '' <nowiki>**</nowiki> '' | puissance (''bash 2.02 et sup.'') | |
- | **Pour les calculs complexes bash n'est pas adapté, il faut utiliser le langage bc.** | + | >Pour les calculs complexes bash n'est pas adapté, il faut utiliser le langage ''bc''. |
=====Opérateurs d'affectation arithmétique===== | =====Opérateurs d'affectation arithmétique===== | ||
- | ^opérateurs ^opérations ^ | + | ^opérateurs ^opérations ^ |
- | | <code>=</code> | affectation arithmétique | | + | | ''<nowiki>=</nowiki> '' | affectation arithmétique | |
- | | <code>+=</code> | incrémentation | | + | | ''<nowiki>+=</nowiki> '' | incrémentation | |
- | | <code>-=</code> | décrémentation | | + | | ''<nowiki>-=</nowiki> '' | décrémentation | |
- | | <code>/=</code> | affectation par division | | + | | ''<nowiki>/=</nowiki> '' | affectation par division | |
- | | <code>+=</code> | affectation par multiplication | | + | | ''<nowiki>>+=</nowiki> '' | affectation par multiplication | |
- | | <code>%=</code> | afectation du reste | | + | | ''<nowiki>%=</nowiki> '' | afectation du reste | |
**Voir :** | **Voir :** | ||
Ligne 51: | Ligne 52: | ||
^ 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 | + | ''&<''( et binaire), ''|<'' (ou binaire), et ''~''(non binaire)\\ 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. |
- | 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> | ||
Ligne 88: | Ligne 88: | ||
</code> | </code> | ||
- | ===post-décrémentation et pré-décrémentation :=== | + | ===Post-décrémentation et pré-décrémentation :=== |
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash |