Script en shell liunux
Publicado por Kike (2 intervenciones) el 15/02/2007 06:05:41
Estaba revisando y llege a hacer este codigo para el problema siguiente:
Escribir un script de shell que permita ingresar dos números. Tras ingresarlos, el script deberá preguntar que operación se desea realizar con los números (suma, resta, multiplicación, división o promedio). Para el caso de la resta y división, el script deberá validar que el primer número sea mayor que el segundo; en caso de ser menor, se deberá reingresar solamente el primer número.
Mi codigo serìa asi:
#!/bin/bash
echo -n "Ingrese el primer valor para ejecutar operacion:"
read respuesta1
echo -n "Ingrese el segundo valor para ejecutar operacion:"
read respuesta2
echo -n "esciba que operacion desea realizar:"
read operacion
case "$operacion" in
suma)
suma=`expr $respuesta1 + $respuesta2`
echo "La respuesta es: " $suma
;;
resta)
if [ $respuesta1 -lt $respuesta2 ]
then
echo "El primer valor es menor, deseas continuar (s/n):"
read rpta
if [ $rpta == "s" ] && resta=`expr $respuesta1 - $respuesta2`
then
echo "La respuesta es: " $resta
fi
else
resta=`expr $respuesta1 - $respuesta2`
echo "La respuesta es: " $resta
fi
;;
dividir)
if [ $respuesta1 -lt $respuesta2 ]
then
echo "El primer valor es menor, deseas continuar (s/n):"
read rpta
if [ $rpta == "s" ]
then
dividir=`expr $respuesta1 \/ $respuesta2`
echo "La respuesta es:" $dividir
fi
else
dividir=`expr $respuesta1 \/ $respuesta2`
echo "La respuesta es: " $dividir
fi
;;
multiplicar)
multi=`expr $respuesta1 \* $respuesta2`
echo "La respuesta es: " $multi
;;
promedio)
suma1=`expr $respuesta1 + $respuesta2`
p=2
prom=`expr $suma1 \/ $p`
echo "El promedio es :" $prom
;;
esac
****Cualquier sugerencia por fa se los agradeceria muchoo para mejorarlo este codigo.
enrique
Escribir un script de shell que permita ingresar dos números. Tras ingresarlos, el script deberá preguntar que operación se desea realizar con los números (suma, resta, multiplicación, división o promedio). Para el caso de la resta y división, el script deberá validar que el primer número sea mayor que el segundo; en caso de ser menor, se deberá reingresar solamente el primer número.
Mi codigo serìa asi:
#!/bin/bash
echo -n "Ingrese el primer valor para ejecutar operacion:"
read respuesta1
echo -n "Ingrese el segundo valor para ejecutar operacion:"
read respuesta2
echo -n "esciba que operacion desea realizar:"
read operacion
case "$operacion" in
suma)
suma=`expr $respuesta1 + $respuesta2`
echo "La respuesta es: " $suma
;;
resta)
if [ $respuesta1 -lt $respuesta2 ]
then
echo "El primer valor es menor, deseas continuar (s/n):"
read rpta
if [ $rpta == "s" ] && resta=`expr $respuesta1 - $respuesta2`
then
echo "La respuesta es: " $resta
fi
else
resta=`expr $respuesta1 - $respuesta2`
echo "La respuesta es: " $resta
fi
;;
dividir)
if [ $respuesta1 -lt $respuesta2 ]
then
echo "El primer valor es menor, deseas continuar (s/n):"
read rpta
if [ $rpta == "s" ]
then
dividir=`expr $respuesta1 \/ $respuesta2`
echo "La respuesta es:" $dividir
fi
else
dividir=`expr $respuesta1 \/ $respuesta2`
echo "La respuesta es: " $dividir
fi
;;
multiplicar)
multi=`expr $respuesta1 \* $respuesta2`
echo "La respuesta es: " $multi
;;
promedio)
suma1=`expr $respuesta1 + $respuesta2`
p=2
prom=`expr $suma1 \/ $p`
echo "El promedio es :" $prom
;;
esac
****Cualquier sugerencia por fa se los agradeceria muchoo para mejorarlo este codigo.
enrique
Valora esta pregunta


0