我需要一个脚本,它会要求用户输入一个数字(从1到.......可以说100,没关系),然后根据输入的数字生成n个随机字符串(aplphanumeric nevermind),可以用作变量。举个例子,因为我不确定我是否说清楚了:用户被要求选择一个数字,他选择了 6(例如)。生成6个随机字符串(例如:dq3rqewfdwq3 aefr3wqf3fd3 d2dqdq32re3q 32d3dq3fef33 3r243fr4wef4 r23r23r32r3r,然后在运行docker时将它们一一用作变量(dockerfile容器名称),因此在本例中:docker run dq3rqewfdwq3 …… docker run --name aefr3wqf3fd3 ……等等……所以它运行的次数与用户输入的次数一样多,非常感谢帮助。
答案1
使用pwgen
,xargs
并使用作为命令行参数给出的数字来表示重复次数:
#!/bin/sh
pwgen -A 16 "$1" | xargs -I {} docker run --name {} other options here
这会像这样使用
./thescript 6
...它将用于pwgen
生成给定数量的随机字符串,每个字符串长 16 个字符。对于每个生成的字符串,将使用插入占位符位置的字符串来xargs
运行。docker
{}
选项-A
使其pwgen
仅创建不带大写字母的字符串。
例如,如果如上所示调用,则可以运行命令
docker run --name iepiephei8va1oas other options here
docker run --name eihengugeang8op9 other options here
docker run --name teithosho7ez8pho other options here
docker run --name jugh6eem7fae0hah other options here
docker run --name chak9nooxahxohl4 other options here
docker run --name iewuph1aemohwoza other options here