Shell脚本生成随机密码的若干种可能

目录

Shell 脚本生成随机密码的几种方法整理。

方法 1:urandom 版本

使用 /dev/urandomtr 过滤特殊字符:

#!/bin/bash
tr -dc '_A-Za-z0-9' < /dev/urandom | head -c 10

方法 2:字符串截取版本

通过 RANDOM 随机数对密码库长度取余,循环提取字符:

#!/bin/bash
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
pass=''
for i in {1..8}; do
  index=$[RANDOM%num]
  pass=$pass${key:$index:1}
done
echo $pass

方法 3:UUID 版本

使用 uuidgen 生成 16 进制密码:

#!/bin/bash
uuidgen

方法 4:进程 ID 版本

使用 $$ 获取脚本进程 ID(纯数字):

#!/bin/bash
echo $$

#shell-scripting