Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Вадим Мальцев 17.08.2007 11:02 / 17.08.2007 11:07
# 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]'` echo "$dec % $1 + 1" | bc # # # convert from hexadecimal to decimal: # dec=`echo "ibase=16; $hex" | bc` -bash: bc: command not found # #echo >&2 "DEBUG: hex=<$hex>; dec=<$dec>" # # echo "$dec % $1 + 1" | bc -bash: bc: command not found