2003年10月30日(木) [過去の今日]
#1 ランダムな文字列を作るシェルスクリプト関数
友達に頼まれたスクリプトを作ってる最中、なんとなく欲しいなと思って試行錯誤。まあなんとかでけた。
#!/bin/sh randstring() { LENGTH=$1 STRING='' SEED=`dd if=/dev/urandom bs=1 count=2 2>/dev/null | od | head -n1 | cut -b 12-` CHAR_LIST='01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' for NUM in `awk "BEGIN{srand($SEED); for( i = 0; i <= $LENGTH; i++) print int(rand()*61+1)}"`; do CHAR=`echo $CHAR_LIST | cut -c $NUM` STRING="${STRING}${CHAR}" i=`expr $i + 1` done echo $STRING return 0 } STRING=`randstring 20` echo $STRING
(@977)