Posted by : Unknown
viernes, 5 de junio de 2015
CALCULADORA
EN SHELL
Un shell, es el término usado en informática para referirse a un intérprete de comandos, el cual
consiste en la interfaz de usuario tradicional de los sistemas operativos
basados en Unix y similares como GNU/Linux.
Mediante
las instrucciones que aporta el intérprete, el usuario puede comunicarse con el núcleo y por extensión, ejecutar dichas
órdenes, así como herramientas que le permiten controlar el
funcionamiento de la computadora.
En este blog
realizaremos una calculadora programado con comandos básicos aritméticos y
comandos lógicos.
COMANDOS LÓGICOS
·
!=
no es igual a / Distinto
no es igual a / Distinto
if [ "$a" != "$b" ]
NOTA: este operador usa coincidencia de
patrón dentro de doble corchete.
·
<
es menor que (en orden alfabético ASCII)
es menor que (en orden alfabético ASCII)
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
Nota: el operador “<” necesita ser
escapado dentro de corchetes.
·
>
es mayor que (en orden alfabético ASCII)
es mayor que (en orden alfabético ASCII)
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
Nota: el operador “>” necesita ser
escapado dentro de corchetes.
·
-z
La cadena está vacía (nulll), tiene longitud cero.
La cadena está vacía (nulll), tiene longitud cero.
String='' #
Variable de longitud cero (null)
if [ -z
"$String" ]
then
echo
"\$String está vacía."
else
echo "\$String no está vacía."
fi
·
-n
cadena no está vacía (contiene algo)
nota: El operador -n exige que la cadena esté entre comillas entre paréntesis. Aunque el uso sin comillas puede funcionar, es altamente recomendable usar comillas.
cadena no está vacía (contiene algo)
nota: El operador -n exige que la cadena esté entre comillas entre paréntesis. Aunque el uso sin comillas puede funcionar, es altamente recomendable usar comillas.
Comparaciones lógicas
·
-a
Y lógico (and)
Y lógico (and)
·
exp1 -a exp2
devuelve verdadero si ambas exp1 y exp2
son verdaderas.
·
-o
O lógico (or)
O lógico (or)
·
exp1 -o exp2
devuelve verdadero si alguna de las
expresiones exp1 y exp2 son verdaderas.
Éstos últimos operadores son similares a
los operadores de Bash && (and) y || (or)
cuando se usan con doble corchete:
[[ condition1 && condition2 ]]
EJEMPLO DE CALCULADORA
#! /bin/bash
clear
opcion=2
while [ $opcion -ne 5
]
do
echo -n "---------------------------------"
echo -e "\n CALCULADORA SEBASTIAN AYALA"
echo "1.suma"
echo "2.resta"
echo "3.multiplicación"
echo "4.AND"
echo "5.salir"
read -n 1 -p "Introduce una opcion " opcion
echo -e "\n"
case $opcion in
1) read -e -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado de la suma es `expr $numero1 +
$numero2`" ;;
2) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado de la resta es `expr $numero1 -
$numero2`" ;;
3) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado de la multiplicación es `expr $numero1
'*' $numero2`" ;;
4) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
#echo "El resultado del AND es `expr $numero1 --a
$numero2`" ;;
if [ "$numero1" -eq "$numero1" ] &&
[ "$numero1" -eq "$numero2" ]
then
echo "true"
else
echo "false"
fi
esac
done