一、shell生成一个二十位的随机字符串:
代码:
复制代码 代码示例:
#!/bin/bash
randstr() {
index=0
str=""
for i in {a..z}; do arr[index]=$i; index=`expr ${index} + 1`; done
for i in {A..Z}; do arr[index]=$i; index=`expr ${index} + 1`; done
for i in {0..9}; do arr[index]=$i; index=`expr ${index} + 1`; done
for i in {1..20}; do str="$str${arr[$RANDOM%$index]}"; done
echo $str
}
echo `randstr`
二、shell 产生一个随机字符串
代码:
复制代码 代码示例:
#!/bin/bash
MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+="
LENGTH="9"
while [ "${n:=1}" -le "$LENGTH" ]
do
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
done
echo "$PASS"
exit 0
三、shell生成随机字符串,分为二种情况。
1、生成全字符随机的字串:
cat /dev/urandom | strings -n C | head -1
2、生成数字加字母的随机字串:
cat /dev/urandom |
sed ’s/[^a-zA-Z0-9]//g’ | strings -n C | head -1
说明:其中C表示字符串的字符数。
shell生成随机数的几个例子: