Shell Script: No sé qué hacer

12
Sep
29
2008
Shell

Elrohir, dejó el siguiente shell script en el foro de programación. Para esos días en que no sabemos qué hacer. Se ingresan 3 opciones, y el script elige cuál hacer, inspirado en la película Chaos Theory:

#!/bin/bash
sugerido=$[$RANDOM % 3]
echo "Opcion 1?";read op1;
echo "Opcion 2?";read op2;
echo "Opcion 3?";read op3;
 
clear;
 
if [ $sugerido -eq 0 ];
then
   echo "Hacer ";
   echo $op1;
fi
if [ $sugerido -eq 1 ];
then
        echo "Hacer ";
   echo $op2;
fi
if [ $sugerido -eq 2 ];
then
        echo "Hacer ";
   echo $op3;
fi
Comparte:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Tumblr
  • Twitter

12 comentarios para “Shell Script: No sé qué hacer”


  1. Firefox 3.0.3Ubuntu

    Nunca se me habria ocurrido, es justo lo que necesitaba .xD. GRACIAS.

    Saludos


  2. Firefox 3.0.2Windows XP

    Ese si que es un script muy sencillo….dammm!!!…si hubiera pensado en hacerlo así no me hubiera metido en la broncota en la que me metí haciendo el mio :(


  3. Firefox 3.0.3Windows XP

    Como en mi trabajo no tengo linux:

    import random
    import sys
     
    try:
    	opcion1 = sys.argv[1]
    	opcion2 = sys.argv[2]
    	opcion3 = sys.argv[3]
    except:
    	print "Uso:\n\n"
    	print "python " + sys.argv[0] + "   \n\n"
    	exit()
     
    res = random.randint(1,3)
     
    if res==1:
    	print "Hacer: ", sys.argv[1]
    if res==2:
    	print "Hacer: ", sys.argv[2]
    if res==3:
    	print "Hacer: ", sys.argv[3]

  4. Firefox 3.0.3Windows XP

    no tengo idea que están haciendo las variables opcion1, opcion2, opcion3…

    jajaja xD

    cosas de scripting rápido…


  5. Konqueror 3.5Debian GNU/Linux

    Te recomendaría que aprendas a usar la estructura de control case, eso te simplificaría la vida significativamente:

    case $sugerido in
      0) echo "Hacer $op1"
      1) echo "Hacer $op2"
      2) echo "Hacer $op3"
    esac

  6. Konqueror 3.5Debian GNU/Linux

    sorry, me faltaron los ;; en cada uno de los casos


  7. Opera 9.52GNU/Linux

    ahahaha… xD
    no pense el case…


  8. Camino 1.6.4Mac OS

    Un poco más sofisticado (pero no mucho más largo):

    cuantas=${1:-3}
     
    for ((i=1; $i<=$cuantas; i=$i+1)); do
            read -p "opcion $i? " op[$i];
    done
     
    echo -n "Haz: ";
    echo ${op[ $[$RANDOM % $cuantas]+1 ]};

    pregunta las veces que quieras pasandole un parámetro (“./script.sh 2″ pregunta 2 veces), sin parámetros preguntará 3 veces


  9. Camino 1.6.4Mac OS

    hmm… vaya, wp se me cambió el < por &lt; en el bucle for, ¡wp malo, los pre no se tocan!


  10. Firefox 3.0.4GNU/Linux

    No he probado el codigo; pero a grandes rasgos tenia que quedar algo asi en ruby:

    Perdon q no me quedara con tres opciones, pero la mala costumbre de hacer lo mas general posible el script; espero funcione, jeje

     
    x=rand(ARGV.length)
    puts "Hacer : #{ARGV[x]}"
  1. WordPress 2.6 Un poco Geek » Blog Archive » ¿Qué hacer? en C++ | 2 Octubre. 2008 - 9:29 pm

    [...] idea se ha iniciado en los foros de Picando Codigo (con un script de shell en bash), después fernando lo ha puesto en su blog. Unos días más tarde, hugo_dc lo ha pasado en python y ahora, yo lo he escrito en [...]

Dejar un comentario