GnuOwned's Blog

Cómo obtener números aleatorios desde la shell

Hoy tuve la necesidad de obtener números aleatorios desde un sctript, me acorde que existe una variable de entorno especial llamada $RANDOM, la cual nos entrega un numero aleatorio cada vez que la mandas a llamar, a continuación algunos ejemplos interesantes:

Número aleatorio cualquiera:

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $RANDOM

13698

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $RANDOM

2925

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $RANDOM

5741

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $RANDOM

16987

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $RANDOM

16813

Número entre 1 y 20:

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 20 ) +1 ]

7

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 20 ) +1 ]

6

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 20 ) +1 ]

14

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 20 ) +1 ]

20

Número entre 20 y 30:

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 10 ) +20 ]

22

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 10 ) +20 ]

27

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 10 ) +20 ]

26

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $[ ( $RANDOM % 10 ) +20 ]

23

—————————————————————————————

Si lo que necesitas es obtener un numero aleatorio y mandar a llamar ese numero varias veces, lo unico que necesitas es asignarlo a una variable:

Miguel-Angel-Barajass-MacBook:~ gnuowned$ export VARIABLE=$[ ( $RANDOM % 10 ) +20 ]

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $VARIABLE

28

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $VARIABLE

28

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $VARIABLE

28

Miguel-Angel-Barajass-MacBook:~ gnuowned$ echo $VARIABLE

28

Happy Sctripting ;)


To Tumblr, Love PixelUnion

We're updating Fluid!

Soon, we'll be updating the look and feel of this theme. Read about the changes here. You can easily turn off this notification in the theme customization panel.

Close