RANDOM con Shell Script y condiciones lógicas if...then

Preguntas sobre los lenguajes de programación más comunes como C/C++, PHP, Gambas, Perl, SHELL Script, HTML, Python, SQL, etc.
adminweb
Site Admin
Mensajes: 16
Registrado: Dom Abr 14, 2013 7:18 pm

RANDOM con Shell Script y condiciones lógicas if...then

Mensajepor adminweb » Mar Ene 20, 2015 10:24 am

A la espera de publicar un artículo en LinuxParty a modo de "mini-tutorial" de Shell Script, vamos a publicar un pequeño script que ilustra el uso de RANDOM y como manejar esos datos utilizando las estructúras lógicas if...then
=======Código========
#!/bin/bash
clear
echo "========================="
echo "Eligiendo...";

let "ELEGIDA = $(($RANDOM%13))"

if [ "$ELEGIDA" -eq 0 ]; then
echo "1) ----------> CERO"
elif [ "$ELEGIDA" -eq 1 ]; then
echo "2) ----------> UNO"
elif [ "$ELEGIDA" -eq 2 ]; then
echo "3) ----------> DOS"
elif [ "$ELEGIDA" -eq 3 ]; then
echo "4) ----------> TRES"
elif [ "$ELEGIDA" -eq 4 ]; then
echo "5) ----------> CUATRO"
elif [ "$ELEGIDA" -eq 5 ]; then
echo "6) ----------> CINCO"
elif [ "$ELEGIDA" -eq 6 ]; then
echo "7) ----------> SEIS"
elif [ "$ELEGIDA" -eq 7 ]; then
echo "8) ----------> SIETE"
elif [ "$ELEGIDA" -eq 8 ]; then
echo "9) ----------> OCHO"
elif [ "$ELEGIDA" -eq 9 ]; then
echo "----------> NUEVE"
elif [ "$ELEGIDA" -eq 10 ]; then
echo "10) ----------> DIEZ"
elif [ "$ELEGIDA" -eq 11 ]; then
echo "11) ----------> ONCE"
elif [ "$ELEGIDA" -eq 12 ]; then
echo "12) ----------> DOCE"
fi
echo " "
echo "========================="
=======FIN Código========

Comprobará que debe usarse el uso de comillas tras let, y consecuentemente la variable "$ELEGIDA" debe estar entre comillas, la comprobación se hace con -eq (equal to), en vez de con los signos "=" o "==" que generalmente se utilizan en los lenguajes de programación de alto nivel.

Si se utilizan 13 opciones, el primer número empieza por 0, téngalo en cuenta.

Volver a “Desarrollo”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado