Les opérations arithmétiques dans les scripts bash, en particulier la division, sont des tâches courantes. Cependant, Bash ne prend pas en charge les numéros de points flottants par défaut, ce qui rend les opérations de division un peu compliquées. Cet article explorera plusieurs méthodes de division différentes dans Bash et expliquera comment gérer le manque de division de points flottants à Bash.
expr
expr
est une méthode pour effectuer des opérations de division en bash. Il calcule l'expression et imprime le résultat à la console. La syntaxe de base est la suivante:
x = 60 y = -3 résultat = $ (expr $ x / $ y) Echo "Résultat: $ résultat"
Ici, la valeur de x
est divisée par y
et le résultat est stocké dans la variable result
. Il convient de noter qu'il doit y avoir des espaces avant et après l'opérateur de division /
. S'il n'y a pas d'espaces, la commande expr
traite l'expression comme une chaîne, résultant en une erreur de syntaxe.
Cependant, expr
a des limitations. Il ne prend en charge que la division entière, ce qui signifie que si le résultat doit être un numéro de point flottant, il sera tronqué à un entier. De plus, il ne peut pas accepter les nombres de points flottants en entrée.
Une autre façon d'effectuer des opérations de division consiste à utiliser la syntaxe à double support. Il s'agit de la méthode d'abréviation pour effectuer des opérations arithmétiques en bash:
x = 60 y = -9 résultat = $ (($ x / $ y)) Echo "Résultat: $ résultat"
Contrairement à la commande expr
, la syntaxe à double brasage ne nécessite pas d'espaces avant et après l'opérateur de division /
. Cependant, il ne prend toujours en charge que la division Integer et n'accepte pas les numéros de points flottants en entrée.
printf
pour améliorer la précision printf
est un autre outil pratique pour la division en bash. Il peut retourner des nombres de points flottants, ce qui entraîne des résultats plus précis:
x = 60 y = -9 printf "% .4f \ n" $ ((10 ** 4 * x / y)) e-4
Dans cet exemple, x
est d'abord multiplié par 10 ^ 4 puis divisé par y
. Format spécificateur %.4f\n
la sortie vers un numéro de point flottant avec quatre décimales. Cependant, notez que le numérateur et le dénominateur doivent encore être des entiers.
bc
La commande bc
(Basic Calculator) est l'un des outils les plus puissants de Bash pour les opérations de division. Contrairement aux méthodes précédentes, il permet d'utiliser des numéros de points flottants comme entrée:
x = 10,5 y = -2 Echo "échelle = 4; $ x / $ y" |
Ici, scale=4
spécifie le nombre de chiffres après le point décimal dans le résultat. De plus, vous pouvez utiliser des variables de shell avec la commande bc
via le pipeline Shell |
La division est une opération de base dans les scripts bash. En utilisant la commande expr
, les commandes Syntaxe à double support, printf
et bc
, vous pouvez diviser efficacement les deux variables en bash. N'oubliez pas de choisir le bon outil en fonction de la question de savoir si vous avez besoin d'une division entière ou de points flottants et si votre variable est entier ou numéro de point flottant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!