Calculadora simple en Bash

Cree una calculadora simple que pueda realizar operaciones aritméticas básicas como suma, resta, multiplicación o división, según la entrada del usuario en Bash.

Ejemplo: 

Enter two numbers:
5.6
3.4
Enter Choice: 
1. Addition
2. Subtraction
3. Multiplication
4. Division
3
5.6 * 3.4 = 19.0 

Acercarse:  

1. Read Two Numbers
2. Input Choice (1-Addition, 2-Subtraction, 3-Multiplication, 4-Division) 
3. if Choice equals 1
    Calculate res = a + b
   else If Choice equals 2
    Calculate res = a - b
   else if Choice equals 3
    Calculate res = a * b
   else if Choice equals 4
    Calculate res = a / b
4. Output Result, res

Comandos/declaraciones utilizadas: 

1. echo 
echo es uno de los comandos más utilizados. 
Se utiliza para imprimir una línea de texto en salida estándar.  

$ echo [-neE] [arg ...] 

2. leer 
El comando leer en Linux se usa para leer la entrada desde el teclado. 
3. Cambio de caso 
Cuando hay muchas declaraciones if en Shell y se vuelve confuso. Entonces es bueno usar la declaración de caso.
4. Comando bc 
Comprueba el enlace del comando bc Comando bc Ejemplo de Linux

Bash

# !/bin/bash
 
# Take user Input
echo "Enter Two numbers : "
read a
read b
 
# Input type of operation
echo "Enter Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read ch
 
# Switch Case to perform
# calculator operations
case $ch in
  1)res=`echo $a + $b | bc`
  ;;
  2)res=`echo $a - $b | bc`
  ;;
  3)res=`echo $a \* $b | bc`
  ;;
  4)res=`echo "scale=2; $a / $b" | bc`
  ;;
esac
echo "Result : $res"

Producción:

Referencias:  
Array Basics Shell Scripting | Conjunto 2 (Uso de bucles)  
Conceptos básicos de arrays en secuencias de comandos de Shell | Conjunto 1  
Ordenar una array en Bash usando Bubble sort  
bc Comando Linux Ejemplo
 

Publicación traducida automáticamente

Artículo escrito por prakhargvp y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *