72 lines
1.5 KiB
Bash
72 lines
1.5 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Script: calculadora.sh
|
||
|
# Descripción: Este script realiza operaciones matemáticas básicas
|
||
|
# (suma, resta, multiplicación, división) con dos valores ingresados por el usuario.
|
||
|
# Author: Manuel Vergara
|
||
|
# Web: https://vergaracarmona.es
|
||
|
#
|
||
|
|
||
|
COLOR_RED='\033[0;31m'
|
||
|
COLOR_RESET='\033[0m'
|
||
|
|
||
|
# Control de salida con Ctrl + C
|
||
|
function ctrl_c() {
|
||
|
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||
|
tput cnorm; exit 1
|
||
|
}
|
||
|
|
||
|
# Ctrl+C
|
||
|
trap ctrl_c SIGINT
|
||
|
|
||
|
# Función para limpiar la pantalla
|
||
|
limpiar_pantalla() {
|
||
|
clear
|
||
|
}
|
||
|
|
||
|
# Función para mostrar el mensaje inicial
|
||
|
mensaje_inicial() {
|
||
|
echo "Soy GNU/cal"
|
||
|
sleep 1
|
||
|
echo "Tú me dices lo que quieres calcular y yo te doy el resultado"
|
||
|
sleep 1
|
||
|
}
|
||
|
|
||
|
# Función para solicitar un valor al usuario
|
||
|
solicitar_valor() {
|
||
|
echo -e "\nIntroduce $1 valor"
|
||
|
read -r "$2"
|
||
|
}
|
||
|
|
||
|
# Función para solicitar el operador al usuario
|
||
|
solicitar_operador() {
|
||
|
echo -e "\nIntroduce el operador. Puedes escoger entre: + - / *"
|
||
|
read -r operador
|
||
|
}
|
||
|
|
||
|
# Función para realizar el cálculo y mostrar el resultado
|
||
|
calcular_resultado() {
|
||
|
echo -e "\nEl resultado es: "
|
||
|
sleep 1
|
||
|
resultado="$1 $2 $3"
|
||
|
echo -e "$((resultado)) \n"
|
||
|
sleep 0.5
|
||
|
}
|
||
|
|
||
|
# Función para mostrar el agradecimiento
|
||
|
mensaje_final() {
|
||
|
echo "Gracias por su tiempo"
|
||
|
}
|
||
|
|
||
|
# Main
|
||
|
|
||
|
limpiar_pantalla
|
||
|
mensaje_inicial
|
||
|
|
||
|
solicitar_valor "el primer" valor1
|
||
|
solicitar_operador
|
||
|
solicitar_valor "el segundo" valor2
|
||
|
|
||
|
calcular_resultado "$valor1" "$operador" "$valor2"
|
||
|
mensaje_final
|