天天看點

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
[root@10-6-8-200 test]# bash ran.sh
3p00sgrDT      
# vi 1.sh
#!/bin/bash
len=9
#str=(a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0)
str=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 \! \@ \# \$ \% \^ \& \* \( \) \- \_ \= \+ \\ \/ \' \" \; \: \[ \] \{ \} \, \. \?)
for((i=1;i<=$len;i++));do
    arr[$i]=${str[$[$RANDOM%87]]}
done;
echo "${arr[@]}"|tr -d " "
# bash 1.sh
x7*hMrH}Y