📜  cli 生成随机字符串 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:56.563000             🧑  作者: Mango

CLI 生成随机字符串 - Shell-Bash

在编程过程中,我们经常需要生成一些随机的字符串作为密码或者验证码等。在 Shell-Bash 中,我们可以使用以下命令生成随机字符串:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

这行命令的具体含义如下:

  • /dev/urandom 是一个系统提供的随机数设备,我们可以从里面读取随机数。

  • tr -dc 'a-zA-Z0-9' 命令会删除随机数中的非字母数字字符,只保留字母和数字。

  • fold -w 32 命令会将随机字符串每32个字符为一行折叠。

  • head -n 1 命令会只输出第一行的内容,即生成的随机字符串。

如果需要生成特定长度的随机字符串,可以将 fold -w 32 命令修改为 fold -w <长度>,例如:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1

以上命令会生成一个长度为16的随机字符串。

另外,如果你需要在脚本中多次生成随机字符串,可以将以上命令封装成一个函数,方便调用。例如:

#!/bin/bash

# 生成随机字符串
# $1: 字符串长度,默认为32
function random_string() {
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1
}

# 在脚本中调用
password=$(random_string 12)
echo "密码为: ${password}"

以上的脚本中,random_string 函数可以接受一个参数,用于指定随机字符串的长度,默认为32。在脚本中调用该函数即可生成一个随机字符串。

希望以上介绍对你有所帮助!