bash
提供了一个特殊的$RANDOM
变量(在ksh
中也支持),是随机选择0
到32767
之间的一个整数。简单的方法就是
echo $RANDOM
如果希望上述生成的数字限制在一个给定范围,可以采用取模方式,例如,以下返回数字是0~9
之间随机:
echo $(($RANDOM % 10))
另外一种方法是采用/dev/random
和/dev/urandom
设备接口通过内核来随机产生数字:
od -vAn -N4 -tu4 < /dev/urandom
或者
od -An -N2 -i /dev/random
od - dump files in octal and other formats
随机字符串的方法是利用了前面生成随机数字的方法结合md5sum
工具,将随机数字的md5
计算出来(也就是随机的字符串了)
echo $RANDOM | md5sum
甚至可以再随机一些
echo $RANDOM | md5sum | md5sum
如果要截取指定长度(举例9位)
echo $RANDOM | md5sum | cut -c 1-9