| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 16.08.2007 21:37
...следующим скриптом на shell'е:# rand - create large random number using /dev/urandom
# usage: rand [maxvalue]
RandomDevice=/dev/urandom
MaxRand=18446744073709551616 # 2^64
[ $# -lt 1 ] && set -- $MaxRand
# Read 8 (binary) bytes, convert them to 8 upper-case hex
# numbers using "od", remove whitespace:
hex=`dd if=/dev/urandom bs=1 count=8 2>/dev/null |
od -tx1 | head -1 | cut -d' ' -f2- |
tr -d ' ' | tr '[a-f]' '[A-F]'`
# convert from hexadecimal to decimal:
dec=`echo "ibase=16; $hex" | bc`
#echo >&2 "DEBUG: hex=<$hex>; dec=<$dec>"
echo "$dec % $1 + 1" | bc В конце-концов можно использовать его из под Парсера.