Saludos,
Estoy aprendiendo bash y, a modo de ejercicio, he creado un script muy simple que debería imprimir un número aleatorio:
#!bin/bash printf "Aquí va un número aleatorio: %d\n" "$RANDOM"
Cuando ejecuto el comando directamente desde la terminal, la variable $RANDOM imprime un número aleatorio. Todo bien.
Aquí va un número aleatorio: 1438
Sin embargo, cuando lo guardo en un script y ejecuto este mismo script desde la terminal, $RANDOM no imprime nada, tan solo aparece:
Aquí va un número aleatorio:
¿Algún consejo?
¡Gracias!

Si funciona
Buenas,
Me parece raro eso que comentas, ya que a mi si que me funciona:
bash prueba0001.sh
Aquí va un número aleatorio: 8609
Prueba a ver si es por esto:
#!/bin/bash
Puede que sea porque te falta la / entre la ! y el bin/bash
Un saludo!
Ok, ya está
He descubierto el fallo. Cuando ejecuto
no me sale el número aleatorio, sin embargo cuando reemplazo "sh" por "bash":
como hiciste, entonces ya me sale el número aleatorio.
¿Pero... por qué no funciona con "sh"?
En fin, ya he aprendido la lección jeje
Muchas gracias :)
un saludo
dash
sh no es más que un link a la shell que tengas por defecto, que si no la has cambiado imagino será dash; en dashe no parece funcionar muy bien $RANDOM, mientras que cuando lo ejecutas con bash ya estás forzando a utilizar la shell bash.
Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado
Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado
Una cosa
Si quieres ejecutar el script tal cual, sin necesidad de tener que poner bash, sh, ksh, o como lo programes delante cada vez que lo quieras ejecutar, y no tener que ir al directorio donde esta el script, copialo al directorio /usr/bin y ponle en la primera linea #!/bin/bash , asi con ejecutar solo el nombre del script esta solucionado, dale permisos 555.
Un saludo!
ok
Ok, ya lo entiendo. Por cierto, he creado un directorio en mi carpeta personal y lo he agregado a la variable $PATH como me recomiendan en un libro del que estoy aprendiendo bash (es que si no, en /usr/bin ya hay demasiadas cosas y me pierdo jeje)
En fin, muchas gracias por resolverme esta dudilla :)
Un saludo!