Maison > Tutoriel système > Linux > Mastering Division of Variables in Bash

Mastering Division of Variables in Bash

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-03-16 10:14:09
original
528 Les gens l'ont consulté

Mastering Division of Variables in Bash

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.

Utilisez la commande 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"
Copier après la connexion

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.

Utiliser des supports doubles

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"
Copier après la connexion

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.

Utilisez la commande 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
Copier après la connexion

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.

Utilisez la commande 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" |
Copier après la connexion

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 |

en conclusion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal