Hola, es la primera vez que estoy programando para mi curso de programación de scripts en Ubuntu y al tratar de resolver mi trabajo tengo dificultades.
Cuando ejecuto el script como
$./calc.sh -b 1 + 2 3 + 4, me sale que mi variable OPER no es reconocida, otro problema que tengo es que
expr no me evalúa la expresión que deseo calcular, agradecería me puedan guiar.
Código script:
Ver original#!/bin/sh
if [ $# -eq 0 ]; then
echo "use: $0 | -b <operando1> <operador1> <operando1> ... <operandoN> <operadorN> <operandoN>" >&2
exit 1
else
#verificamos la opcion
PARAMS=$#
case $1 in
-b)CONT=0
for DATO in $@; do
case $DATO in
-b)
;;
+|-|\*|/)OPER = $DATO
;;
*) if [ $CONT -eq 0 ]; then
NUM1=$DATO
(( ++CONT ))
else
echo expr $NUM1 $OPER $DATO
(( CONT = 0 ))
fi;;
esac
done
exit;;
*)
if [[ $(( $((PARAMS - 1)) % 3 )) = 0 ]]; then
echo "falta"
else
echo "La cantidad de parametros en la opcion debe ser multiplo de 3" >&2
fi;;
esac
fi