#!/bin/bash # Shell Program to simulate a simple calculator # -------------------------------------------------------------------- # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2005 nixCraft project. # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- a=$1 op="$2" b=$3 if [ $# -lt 3 ] then echo "$0 num1 opr num2" echo "opr can be +, -, / , x" exit 1 fi case "$op" in +) echo $(( $a + $b ));; -) echo $(( $a - $b ));; /) echo $(( $a / $b ));; x) echo $(( $a * $b ));; *) echo "Error ";; esac
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source, and DevOps topics via:
- RSS feed or Weekly email newsletter
- 4 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
aqui les dejo una calculadora basica y cientifica .
#!/bin/bash
case $1 in
#
-h)echo ” elegir un tipo de calculadora:
– calculadora basica: Contiene a las cuatro operaciones basicas(+ ,- ,* , /).
una vez en esta opcion se eligen los numeros y la operacion
a efectuar dando un enter cada vez que introdusca un numero
o operacion.
– calculadora cientifica: Contiene las operaciones necesarias para efectuar calculos
relacionados con las ciencias y la ingenieria(sen, cos, tan,
cosen, sec, cotan, arctan, ln, expo, %),una vez en esta,
se elige el numero de la operacion que se desee y se oprime
enter, una vez efectuado el script le pedira que ingrese un
numero, cuando lo anote aprieta enter y saldra por pantalla
el resultado.”
exit
;;
esac
# Limpiar pantalla
clear
# Imprime en la terminal calculadora cientifica, es de adorno:
echo “##################################################”
echo “# C A L C U L A D O R A C I E N T I F I C A #”
echo “##################################################”
# Espacio:
echo “”
# Menu interactivo:
echo ” Seleccione un tipo de calculadora ”
echo “”
# Opciones del menu interactivo:
echo ” 1 -> calculadora basica ”
echo ” 2 -> calculadora cientifica”
# Espacio:
echo “”
# Leer el menu interactivo:
read calculadora
# Si la opcion es 1:
if [ $calculadora = “1” ]
# Entonces:
then
# Pide datos al usuario de la calculadora basica:
echo “Introduce el primer numero: ”
# Lee el num1:
read num1
# Pide datos al usuario sobre la operacion a efectuar:
echo “Introduce operacion (+, -, *, /):”
# Leer operacion:
read oper
# Imprime en pantalla:
echo “Introduce el segundo numero: ”
read num2
# Calculadora:
res=$(echo “$num1 $oper $num2″|bc -l)
# Imprime en pantalla:
echo ” -> $num1 $oper $num2 = $res”
# FIN CALCULADORA BASICA
# si la opcion es 2:
elif [ $calculadora = “2” ]
then
# Imprime el siguiente menu interactivo:
echo “Ingresa alguna funcion”
echo “”
echo ” 1 -> sen ”
echo ” 2 -> cos ”
echo ” 3 -> tan ”
echo ” 4 -> sec ”
echo ” 5 -> cosec ”
echo ” 6 -> cotan ”
echo ” 7 -> arctan ”
echo ” 8 -> logaritmo natural ”
echo ” 9 -> raiz cuadrada ”
echo ” 10 -> “A” elevado a “B” ”
echo ” 11 -> El a% de b ”
echo “”
# Leer la operacion elegida:
read “operacion”
# Si es la 1:
if [ $operacion = “1” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
# Calculadora:
res=$(echo “s($angulo)”|bc -l)
# Imprime en pantalla:
echo “=> sen($angulo)= $res”
# Si es la 2:
elif [ $operacion = “2” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
# Calculadora
res=$(echo “c($angulo)”|bc -l)
echo “=> cos($angulo)= $res”
# Si es la 3:
elif [ $operacion = “3” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
res=$(echo “s($angulo)/c($angulo)”|bc -l)
echo “=> tan($angulo)= $res”
elif [ $operacion = “4” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
res=$(echo “1/c($angulo)”|bc -l)
echo “=> sec($angulo)= $res”
elif [ $operacion = “5” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
res=$(echo “1/s($angulo)”|bc -l)
echo “=> cosec($angulo)= $res”
elif [ $operacion = “6” ]
then
echo “Ingrese el angulo a evaluar en radianes”
read angulo
res=$(echo “c($angulo)/s($angulo)”|bc -l)
echo “=> cotan($angulo)= $res”
elif [ $operacion = “7” ]
then
echo “Ingrese el numero a evaluar”
read numero
res=$(echo “a($numero)”|bc -l)
echo “=> arctan($numero)= $res”
elif [ $operacion = “8” ]
then
echo “Ingrese el numero a evaluar”
read numero
res=$(echo “l($numero)”|bc -l)
echo “=> ln($numero)= $res”
elif [ $operacion = “9” ]
then
echo “Ingrese el numero a evaluar”
read numero
res=$(echo “sqrt($numero)”|bc -l)
echo “=> raiz($numero)= $res”
elif [ $operacion = “10” ]
then
echo “Ingrese el numero que quieres elevar”
# Lee el numero ingresado:
read numero1
# Imprime en pantalla:
echo “Ingresa la potencia”
# Lee el numero ingresado:
read numero2
# Calculadora:
res=$(echo “$numero1^$numero2″|bc -l)
# Imprime como resultado en la pantalla:
echo “=> $numero1 elevado a $numero2= $res”
elif [ $operacion = “11” ]
then
echo “Ingresa el porcentaje que quieres”
read numero1
echo “Ingresa el numero al que se le sacara el porcentaje”
read numero2
res=$(echo “$numero1*$numero2/100″|bc)
echo “=> el $numero1% de $numero2= $res”
# Termino de la cadena:
fi
# Termino de la cadena principal:
fi
hi
maybe you writed wrong s# correct is $#
hi,
in my system , if i typed fi it shows bash:[s# command not found
why it so.
waiting for your reply
Whats wrong with “bc – An arbitrary precision calculator language “???
echo “((5*2)/2)%2” | bc