Maison >Tutoriel système >Linux >Comment diviser deux variables dans les scripts bash
Opération de division dans le script bash: gérer efficacement les nombres entiers et les numéros de points flottants
Les scripts bash sont un outil puissant pour automatiser les tâches sur les systèmes Linux et Unix. Bien qu'il soit connu pour les opérations de fichiers et de processus, les opérations arithmétiques telles que la division jouent également un rôle crucial dans de nombreux scripts. Comprendre comment diviser correctement par deux variables peut aider à l'allocation des ressources, au traitement des données, etc. Cet article explore les subtilités de la division de la performance dans Bash, vous donnant les connaissances nécessaires pour effectuer des opérations arithmétiques en douceur et efficacement.
concept de base
Variables dans Bash Dans Bash, les variables sont les noms attribués à un élément de données qui peut être modifié lors de l'exécution du script. Les variables sont souvent utilisées pour stocker les numéros, les chaînes ou les noms de fichiers, et ces données peuvent être manipulées pour effectuer diverses opérations.
Présentation des opérations arithmétiques BASH prend en charge directement les opérations arithmétiques de base directement ou via des services publics externes. Ces opérations comprennent l'addition, la soustraction, la multiplication et la division. Cependant, Bash lui-même effectue une arithmétique entière, ce qui signifie qu'il ne peut gérer que des entiers sans décimales, à moins d'utiliser d'autres outils.
Introduction aux commandes arithmétiques Il existe deux méthodes principales pour effectuer des opérations arithmétiques en bash:
Définition du script
Créez un fichier de script bash Pour commencer à écrire des scripts, créez un fichier avec une extension .sh à l'aide d'un éditeur de texte tel que Nano ou VIM. Par exemple:
nano myscript.sh
Rendre l'exécutable de script Après avoir écrit un script, vous devez utiliser la commande chmod pour le rendre exécutable:
chmod x myscript.sh
Syntaxe de base Les scripts bash commencent généralement par Shebang (#!) Suivi du chemin vers l'interprète bash:
#!/bin/bash # 你的脚本从这里开始
Déclarer la variable
Affectation Pour déclarer et attribuer des valeurs aux variables en bash, utilisez la syntaxe suivante:
var1=10 var2=5
Ces variables peuvent désormais être utilisées dans les opérations arithmétiques.
Effectuer la division
Utilisez la commande expr expr à utiliser:
result=$(expr $var1 / $var2)
echo "结果是 $result"
Ceci produit le résultat de var1 divisé par var2.
Division des entiers de formation
Étant donné que l'expr prend en charge uniquement l'arithmétique entier, diviser deux entiers qui ne peuvent pas être divisés entraîneront le tronqué de la partie fractionnaire.
Utiliser une extension arithmétique $ (()) l'extension arithmétique permet une syntaxe plus simple et une intégration directe de script:
result=$(($var1 / $var2))
echo "结果是 $result"
Cette méthode est plus simple et ne produit pas de processus externes, il est donc plus rapide que l'expr.
Traitement des résultats non entières
Défis de la division des points flottants bash lui-même ne prend pas en charge l'arithmétique du point flottante, ce qui complique la division qui conduit à des valeurs non intégrales.
Solutions pour la division des points flottants Pour gérer la division des points flottants, vous pouvez utiliser l'outil BC, qui est un langage de calculatrice de précision arbitraire:
result=$(echo "$var1 / $var2" | bc -l)
echo "结果是 $result"
Cette commande envoie l'opération de division en Colombie-Britannique, qui traite l'arithmétique du point flottant et renvoie le résultat.
Traps et erreurs communs
divisé par zéro essayer de diviser par zéro provoquera une erreur de script. Avant d'effectuer une division, assurez-vous de vérifier si le dénominateur est nul:
if [ $var2 -eq 0 ]; then
echo "错误:被零除。"
else
result=$(($var1 / $var2))
echo "结果是 $result"
fi
Traitement des entrées non numériques Assurez-vous que l'entrée est un numérique pour éviter les erreurs d'exécution:
if ! [[ "$var1" =~ ^[0-9] $ ]] || ! [[ "$var2" =~ ^[0-9] $ ]]; then
echo "错误:非数字输入。"
else
result=$(($var1 / $var2))
echo "结果是 $result"
fi
Exemple pratique
Les scripts interactifs sont utilisés pour l'entrée de l'utilisateur Créer un script qui accepte la saisie de l'utilisateur et exécute la division:
#!/bin/bash
echo "输入两个数字:"
read var1 var2
if [[ "$var2" -eq 0 ]]; then
echo "不能被零除。"
else
result=$(echo "$var1 / $var2" | bc -l)
echo "除法结果:$result"
fi
Conclusion
Cet article présente les points clés de l'exécution de la division dans les scripts bash, des opérations entières au traitement des numéros de points flottants. En comprenant ces principes, vous pouvez améliorer la fonctionnalité de vos scripts et effectuer facilement des calculs complexes. Essayez d'utiliser ces techniques pour améliorer vos compétences de script et résoudre des problèmes plus avancés.
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!