BC pour effectuer des opérations arithmétiques avancées en bash

BC pour effectuer des opérations arithmétiques avancées en bash
La calculatrice de base, également connue sous le nom de «BC», est une utilité en ligne de commande Linux utilisée pour effectuer des arithmétiques avancées et de l'algèbre dans les scripts bash. Il offre de nombreuses fonctions mathématiques différentes comme le sine, le cosinus, la tangente et le logarithme naturel en bash. Bash ne peut pas effectuer des opérations arithmétiques avancées, comme la comparaison des flotteurs; C'est là que la Colombie-Britannique est utile. La commande «BC» a été précédée de «DC» (calculatrice de bureau), un utilitaire UNIX. Dans ce tutoriel, nous utiliserons la commande «BC» pour effectuer des opérations arithmétiques avancées.

Effectuer des opérations arithmétiques de base

Des opérations arithmétiques simples comme l'addition, la soustraction, la division et la multiplication peuvent être effectuées à l'aide de la commande 'BC'. La syntaxe pour appliquer des opérateurs binaires simples en bash à l'aide de la commande «BC» est le suivant.

Ubuntu @ Ubuntu: ~ $ echo " »| avant JC

Dans cette section, nous utiliserons la commande «BC» pour effectuer des opérations arithmétiques simples.

ubuntu @ ubuntu: ~ $ num1 = 2.35322 5
ubuntu @ ubuntu: ~ $ num2 = 1.223353
ubuntu @ ubuntu: ~ $ echo «$ num1 + $ num2» | avant JC
3.576578
Ubuntu @ Ubuntu: ~ $ echo «$ num1- $ num2» | avant JC
1.129872
Ubuntu @ Ubuntu: ~ $ echo «$ num1 * $ num2» | avant JC
2.878824
Ubuntu @ Ubuntu: ~ $ echo «$ num1 / $ num2» | avant JC
1

Dans l'exemple ci-dessus, lors de la division de la performance, nous avons obtenu le résultat sans décimaux. Pour obtenir le résultat à des points décimaux, nous devons définir la valeur de l'échelle sur «n» comme indiqué dans l'exemple suivant.

ubuntu @ ubuntu: ~ $ echo “échelle = 10; $ num1 / $ num2 ”| avant JC
1.9235862420

Alternativement, nous pouvons utiliser l'indicateur '-L' et la commande 'BC' pour obtenir une sortie décimale.

Ubuntu @ Ubuntu: ~ $ echo «$ num1 / $ num2» | BC -L
1.92358624207403750184

La commande «BC» peut également être utilisée pour effectuer la division du module et calculer la puissance d'un nombre dans les scripts bash.

Ubuntu @ Ubuntu: ~ $ echo «10% 4» | avant JC
2
Ubuntu @ Ubuntu: ~ $ echo “10 ^ 2” | avant JC
100

Effectuer des opérations arithmétiques avancées

Jusqu'à présent, nous avons utilisé la commande «BC» pour effectuer certaines opérations arithmétiques de base comme l'addition, la soustraction, la multiplication, etc., maintenant; Dans cette section, nous utiliserons la commande «BC» pour effectuer des opérations arithmétiques avancées. Nous discuterons de la façon dont nous pouvons utiliser des opérateurs de comparaison, des opérateurs logiques ou booléens, des fonctions mathématiques avancées et des déclarations conditionnelles dans Bash à l'aide de la commande «BC».

Opérateurs de comparaison

Les opérateurs de comparaison prennent deux nombres, comparez-les puis retournent 1 ou 0 en fonction de la comparaison. Si la comparaison est vraie, alors le résultat est Vrai (1); Sinon, c'est Faux (0). Voici quelques exemples d'opérateurs de comparaison.

  • num1> num2: Cette comparaison reviendra 1 si la num1 est plus grand que le num2.
  • num1 < num2: Le résultat sera 1 si la num1 est moins que le num2.
  • num1 <= num2: Le résultat sera 1 si la num1 est inférieur ou égal à num2.
  • num1> = num2: Le résultat sera 1 si la num1 est supérieur ou égal à num2.
  • num1 == num2: Le résultat sera 1 si la num1 est égal au num2.
  • num1 != num2: Le résultat sera 1 Si les deux nombres ne sont pas égaux.

Voici quelques exemples d'opérateurs de comparaison utilisés avec la commande «BC».

Ubuntu @ Ubuntu: ~ $ echo “5 == 5” | avant JC
1
ubuntu @ ubuntu: ~ $ echo “4!= 4 ”| avant JC
0
Ubuntu @ Ubuntu: ~ $ echo “2> 5” | avant JC
0
ubuntu @ ubuntu: ~ $ echo “4<=4” | bc
1

Opérateurs booléens

Les opérateurs booléens ou logiques sont utilisés dans des déclarations conditionnelles pour effectuer certaines décisions logiques. Voici les trois opérateurs logiques de base.

  • stat1 && stat2: Cela reviendra 1 Si les deux déclarations sont non nul.
  • stat1 || STAT2: Cela reviendra 1 Si l'une des déclarations est non nul.
  • ! STAT: Cela reviendra 1 Si la déclaration est non nul et vice versa.

Les exemples suivants illustrent comment les opérateurs logiques sont utilisés avec la commande «BC».

Ubuntu @ Ubuntu: ~ $ echo “-5 && 0” | avant JC
0
ubuntu @ ubuntu: ~ $ echo “-1 || 0 ”| avant JC
1
Ubuntu @ Ubuntu: ~ $ echo "! 0 ”| avant JC
1

Expressions conditionnelles

Des instructions conditionnelles sont utilisées pour exécuter des commandes spécifiques en fonction de la condition appliquée. L'état appliqué dans l'instruction conditionnelle implique des opérateurs logiques et de comparaison. Voici l'exemple des déclarations conditionnelles avec la commande 'BC'.

ubuntu @ ubuntu: ~ $ a = 15
ubuntu @ ubuntu: ~ $ b = 20
ubuntu @ ubuntu: ~ $ echo 'if (a> b) imprimer "a est plus grand" else imprimer "b est plus grand"' | BC -L
B est plus grand

Dans l'exemple ci-dessus, l'instruction vérifie si A est supérieur à B ou non. Si A est supérieur à B, il imprimera «A est plus grand»; Sinon, il imprimera «B est plus élevé."Nous pouvons appliquer n'importe quelle condition à l'aide de booléens et d'opérateurs de comparaison dans l'exemple ci-dessus.

Fonctions mathématiques

La commande «BC» fournit également des fonctions mathématiques intégrées que nous pouvons utiliser sans les définir. Voici quelques fonctions essentielles utilisées avec la commande 'BC' en bash.

  • S (x): Renvoie le sinus de x où x est en radians
  • C (x): Renvoie le cosinus de x où x est en radians
  • hache): Renvoie l'arctangent de x et le résultat est en radians
  • sqrt (x): Renvoie la racine carrée de x. Cela provoque une erreur d'exécution lorsque x est négatif
  • l (x): Renvoie le journal naturel du x.

Ces fonctions peuvent être utilisées avec la commande 'BC', comme indiqué dans les exemples suivants.

ubuntu @ ubuntu: ~ $ pi = 3.1415
ubuntu @ ubuntu: ~ $ echo «s ($ pi / 2)» | BC -L
1
Ubuntu @ Ubuntu: ~ $ echo “C ($ pi / 2)” | BC -L
0
Ubuntu @ Ubuntu: ~ $ echo «a (1)» | BC -L
0.7854

La racine carrée d'un nombre peut être calculée en bash à l'aide de la commande 'BC', comme indiqué dans la figure suivante.

ubuntu @ ubuntu: ~ $ echo «sqrt (4)» | BC -L
2

Tout en essayant de calculer la racine carrée d'un nombre négatif, la coque lancera une erreur d'exécution.

Ubuntu @ Ubuntu: ~ $ echo «Sqrt (-2)» | BC -L
Erreur d'exécution (func = (main), ADR = 4): racine carrée d'un nombre négatif

Le logarithme naturel d'un nombre peut être calculé en bash à l'aide de la commande «BC» comme suit.

Ubuntu @ Ubuntu: ~ $ echo «l (2)» | BC -L
.69314718055994530941

Conclusion

En écrivant des scripts d'automatisation dans Bash, nous avons parfois besoin de fonctions mathématiques avancées et d'opérateurs logiques pour exécuter des commandes. La commande «BC» offre de nombreuses fonctions et opérateurs mathématiques avancées pour effectuer des calculs arithmétiques de haut niveau. Ce didacticiel a discuté de l'utilisation de la commande «BC» pour effectuer des opérations arithmétiques avancées en bash.