Problema con script chorra

Vereis, tengo un problema, debido a mi desconocimiento del tema, supongo, con un script que ha de mostrar un numero aleatorio del 1 al 10. Parece una chorrada, pero no consigo que me salga bien [tomaaa]

#!/bin/bash
echo $[($RANDOM %10) + 1]


Si ejecuto el script desde una terminal me suelta:
mikel@hall:~$ sh saludo1.sh
saludo1.sh: 7: Syntax error: "(" unexpected

En cambio si ejecuto el código directamente desde una terminal
mikel@hall:~$ echo $[($RANDOM %10) + 1]
7

A ver si a alguien se le ocurre...
echo $((RANDOM % 10 + 1))
gracias por la respuesta amuchamu....pero sigo teniendo problemas absurdos...
si pongo echo $((RANDOM % 10 + 1)) en el terminal me sale el numero aleatorio. OK.
si pongo echo $((RANDOM % 10 + 1)) en el script y luego lo ejecuto me escupe siempre un 1.
Qué estoy haciendo mal?????
Pues ni idea.

#!/bin/bash

while true; do
   echo $((RANDOM % 10 + 1))
   sleep 0.5s
done


Mete eso en un fichero .sh, dale permisos de ejecución y ejecútalo con ./fichero.sh, debería irte sin problemas, al menos en bash.
3 respuestas