От 0 до 12 (включено):
echo $((RANDOM % 13))
Редактировать : обратите внимание, что этот метод не является строго правильным. Поскольку 32768 не кратно 13, шансы на генерирование от 0 до 8 немного выше (0,04%), чем на оставшиеся числа (от 9 до 12).
Вот функция оболочки, которая должна давать сбалансированный вывод:
randomNumber()
{
top=32768-$((32768%($1+1)))
while true; do
r=$RANDOM
[ r -lt $top ] && break
done
echo $((r%$1))
}
Конечно, должно быть разработано что-то лучшее, если более высокое значение диапазона превышает 32767.