📜  bash 之间生成随机数 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:29:34.856000             🧑  作者: Mango

Bash之间生成随机数

在编写Bash脚本时,我们经常需要生成随机数。这些随机数可能需要用来生成密码、随机句子、卷号等等。本文将介绍Bash中如何生成随机数。

生成随机整数

Bash中可以使用$((RANDOM%N))命令来生成0到N-1之间的随机整数,其中N是一个大于0的整数。示例代码如下:

# 生成1~100之间的随机整数
random_number=$((RANDOM%100+1))
echo "The random number is ${random_number}"

输出结果如下:

The random number is 62
生成随机字符串

Bash中可以使用/dev/urandom文件生成随机字符串。示例代码如下:

# 生成一个包含大小写字母和数字的随机字符串
random_string=$(openssl rand -base64 16)
echo "The random string is ${random_string}"

输出结果如下:

The random string is H6FyJ/fh1byJ0QPuFLvGew==
生成随机密码

Bash中也可以使用/dev/urandom文件生成随机密码。示例代码如下:

# 生成一个包含大小写字母、数字和特殊字符的随机密码
random_password=$(openssl rand -base64 16 | tr -dc '_A-Za-z0-9$#@!' | head -c16)
echo "The random password is ${random_password}"

输出结果如下:

The random password is bJwqtj3$2L@t^d#8
总结

可以看到,在Bash中生成随机数并不难。我们可以使用$((RANDOM%N))命令生成随机整数,使用/dev/urandom文件生成随机字符串和密码。希望这篇文章能够帮助你在编写Bash脚本时生成随机数。