logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes 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 [22/10/2015 18:15]
milou [Écriture utile pour les boucles]
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [24/02/2023 21:03]
agp91 aut
Ligne 20: Ligne 20:
   * [[doc:​programmation:​shells:​bash-vii-globs-etendus-regex| Bash : Variables, globs étendus, ERb, ERe]]   * [[doc:​programmation:​shells:​bash-vii-globs-etendus-regex| Bash : Variables, globs étendus, ERb, ERe]]
  
 +
 +===== Introduction =====
 +
 +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.
 +
 +Les commandes **let** et **<​nowiki>​((...))</​nowiki>​** sont les seules commandes internes que bash dispose pour réaliser des opérations mathématiques.\\ ​
 +A travers elles, bash est limité à opérer que sur des entiers signés (positifs ou négatifs).\\ ​
 +Le résultat de l'​évaluation d'une expression sera toujours un entier décimal signé.
 +
 +Pour réaliser des opérations avec des nombres à virgule ou plus complexes, il faut 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).
 +
 +Avec **let** et **<​nowiki>​((...))</​nowiki>​**,​ la plage numérique autorisée est : **-9223372036854775808 < 0 > 9223372036854775807**
 +
 +Après l'​évaluation des expression qu'​elles contiennent,​ **let** et **<​nowiki>​((...))</​nowiki>​** renvoient le code de retour :
 +
 +  * **0**, si le résultat est inférieur ou supérieur à 0.
 +  * **1**, si le résultat est égale à 0.
 +
 +La commande **<​nowiki>​((...))</​nowiki>​** peut-être préfixée du caractère de remplacement **$** pour former la commande **<​nowiki>​$((...))</​nowiki>​**,​ afin d’être remplacer par l'​évaluation de l’expression qu'​elle contient.
 +
 +<note important>​
 +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>​
  
 =====Opérateurs arithmétiques ===== =====Opérateurs arithmétiques =====
doc/programmation/shells/page-man-bash-iv-symboles-dans-les-calculs-mathematiques.txt · Dernière modification: 26/04/2023 19:29 par bendia

Pied de page des forums

Propulsé par FluxBB