shell生成隨機數方法總結

1).隨機生成10位數的小寫字母
例如:wrfevrkjch ,yvfzzndshi, 純字母
shell:
#!/bin/bash
a=(echo {a..z}) #定義一個數組
for(( i=0;i<10;i++));do
echo -n ${a[$RANDOM % ${#a[@]}]}
done
echo
#如果需要生成15的話,就把其中的i<10改成15即可,其他長度依次類推
註釋:$RANDOM : 系統內置的變量,範圍爲[0, 32767]
${#a[@]}: 表示數組的長度
還有一個簡單的方法:

echo $RANDOM |md5sum |cut -c 1-10 |tr "[0-9]" "[a-z]" #配合cut,tr截取數據

2)如果要生成10位數字的話只需要echo {0..9}即可,純數字
8899027290 , 1276497103
簡單方法:# echo $RANDOM |md5sum |cut -c 1-10 |tr "[a-z]" "[0-9]"

3)生成數字和字母的組合的隨機數

echo $RANDOM|md5sum|cut -c 1-10

系統生成隨機數的還可以關注linux系統的設備:/dev/urandom以及/dev/random
利用這些設備可以根據在需要生成隨機字符串,但是他們會有區別,後者有阻塞情況的發生。詳細信息可以百度!
以下地址也可以參考:
http://ju.outofmemory.cn/entry/186830

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章