在bash中为mysql密码生成两个随机符号

在bash中为mysql密码生成两个随机符号,bash,automation,symbols,password-generator,Bash,Automation,Symbols,Password Generator,嗨,我有一个为plesk安装编写的bash脚本 它在创建新订阅时触发,并执行以下操作: 使用两个随机符号以给定格式生成密码 通过cli在plesk中创建数据库 下载wordpress并将其解压到该子选项的httpdocs目录 为站点配置wp-config.php 邮件给我配置的详细信息 但有一个问题是,有时我会生成两个似乎使密码字符串无效的符号。我认为这是因为一些符号需要在bash中逃逸,而这并没有发生。有没有办法从一组“允许”符号中随机抽取两个符号 下面是我的genPassword()函数

嗨,我有一个为plesk安装编写的bash脚本

它在创建新订阅时触发,并执行以下操作:

  • 使用两个随机符号以给定格式生成密码
  • 通过cli在plesk中创建数据库
  • 下载wordpress并将其解压到该子选项的httpdocs目录
  • 为站点配置wp-config.php
  • 邮件给我配置的详细信息
但有一个问题是,有时我会生成两个似乎使密码字符串无效的符号。我认为这是因为一些符号需要在bash中逃逸,而这并没有发生。有没有办法从一组“允许”符号中随机抽取两个符号

下面是我的genPassword()函数

使用bash数组和“magic”变量RANDOM可能会有所帮助:

bash$ symbols=(":" "+" ";" ".")
bash$ echo ${symbols[ RANDOM % ${#symbols[@]} ]}
;

bash$ echo ${symbols[ RANDOM % ${#symbols[@]} ]}
+
如果需要生成一对(例如):


可能重复的可能重复:完美-这正是我所需要的
bash$ symbols=(":" "+" ";" ".")
bash$ echo ${symbols[ RANDOM % ${#symbols[@]} ]}
;

bash$ echo ${symbols[ RANDOM % ${#symbols[@]} ]}
+
bash$ s1=${symbols[ RANDOM % ${#symbols[@]} ]}
bash$ s2=${symbols[ RANDOM % ${#symbols[@]} ]}
bash$ echo "${s1}${s2}"
;: