Получение случайного числа 0…255 в bash

Понадобилось получить случайное число в шеле из устройства /dev/urandom, написал небольшую функцию, сохраню у себя, чтобы не потерялась.

getrand() {
    head -c1 /dev/urandom | hexdump -d | sed -E '1!d;s/.+ +0+//'
}

Ещё вариант придумался (но необходим openssl):

getrand() {
    openssl rand 1 -hex | xargs -I. printf "%d" 0x.
}

Комментарии 4

Дучик (doochik.ya.ru) № 1
В bash еще есть переменная $RANDOM, но берется она, вроде, из /dev/random
Можно вот так сделать echo «$RANDOM%256» | bc
Евгений Степанищев (bolknote.ru) автор № 2

Да, я знаю о её существовании:
/all/3831
/all/3410

Вот так проще: echo $(( $RANDOM*255/32768 ))

Но мне нужны были именно случайные числа, а про $RANDOM написано ( http://tldp.org/LDP/abs/html/randomvar.html ):

$RANDOM is an internal Bash function (not a constant) that returns a pseudorandom integer in the range 0 — 32767. It should not be used to generate an encryption key.