Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

(( )) - Conçu pour les nombres entiers

En plus de la [[]] commande composée, bash fournit aussi l' (( )) commande composée, qui est utile pour opérer sur des entiers. Il prend en charge un ensemble complet d'évaluations arithmétiques, un sujet que nous couvrirons en détail au chapitre 34.

(( )) est utilisé pour effectuer tests de vérité arithmétique. Un test de vérité arithmétique est vrai si le résultat de l'évaluation arithmétique est différent de zéro.



[moi@linuxbox ~]$ si ((1)); then echo "C'est vrai."; Fi

C'est vrai.

[moi@linuxbox ~]$ si ((0)); then echo "C'est vrai."; Fi

[moi@linuxbox ~]$

[moi@linuxbox ~]$ si ((1)); then echo "C'est vrai."; Fi

C'est vrai.

[moi@linuxbox ~]$ si ((0)); then echo "C'est vrai."; Fi

[moi@linuxbox ~]$


En utilisant (( )), on peut légèrement simplifier le test-entier2 script comme ceci :


#! / Bin / bash


# test-integer2a : évalue la valeur d'un entier.


INT=-5


if [[ "$INT" =~ ^-?[0-9]+$ ]]; puis si ((INT == 0)); puis

echo "INT vaut zéro."

d'autre

if ((INT < 0)); puis

echo "INT est négatif."

d'autre

echo "INT est positif."

fi

if (( ((ENT % 2)) == 0)); puis

echo "INT est pair."

d'autre

echo "INT est impair."

fi

#! / Bin / bash


# test-integer2a : évalue la valeur d'un entier.


INT=-5


if [[ "$INT" =~ ^-?[0-9]+$ ]]; puis si ((INT == 0)); puis

echo "INT vaut zéro."

d'autre

if ((INT < 0)); puis

echo "INT est négatif."

d'autre

echo "INT est positif."

fi

if (( ((ENT % 2)) == 0)); puis

echo "INT est pair."

d'autre

echo "INT est impair."

fi



echo "INT n'est pas un entier." >&2 sortie 1

fi


echo "INT n'est pas un entier." >&2 sortie 1

fi

Notez que nous utilisons des signes inférieurs à et supérieurs à et que == est utilisé pour tester l'équivalence. Il s'agit d'une syntaxe plus naturelle pour travailler avec des entiers. Remarquez aussi que parce que la commande composée (( )) fait partie de la syntaxe du shell plutôt que d'une commande ordinaire, et ne traite que des entiers, il est capable de reconnaître les variables par leur nom et ne nécessite pas d'expansion pour être effectué. nous discuterons (( )) et le développement arithmétique connexe plus loin dans le chapitre 34.


Meilleur système d'exploitation Cloud Computing chez OnWorks :