String 如何在bash中生成随机字符串?

String 如何在bash中生成随机字符串?,string,bash,random,String,Bash,Random,我的目标是在bash中实现如下功能: str=random_string(n scharacters) 我已设法做到以下几点: chars=abcdefghijklmnopqrstuvwxyz for (( i=1; i<=n; i++ )) do str="${chars:RANDOM%${#chars}:1}" done chars=abcdefghijklmnopqrstuvwxyz 对于((i=1;i这可能就是您要寻找的: #!/bin/bash c

我的目标是在bash中实现如下功能:

str=random_string(n scharacters)
我已设法做到以下几点:

chars=abcdefghijklmnopqrstuvwxyz
for (( i=1; i<=n; i++ ))
do
   str="${chars:RANDOM%${#chars}:1}"
done
chars=abcdefghijklmnopqrstuvwxyz

对于((i=1;i这可能就是您要寻找的:

#!/bin/bash

chars='abcdefghijklmnopqrstuvwxyz'
n=10

str=
for ((i = 0; i < n; ++i)); do
    str+=${chars:RANDOM%${#chars}:1}
    # alternatively, str=$str${chars:RANDOM%${#chars}:1} also possible
done

echo "$str"
!/bin/bash
chars='abcdefghijklmnopqrstuvxyz'
n=10
str=
对于((i=0;i

您的代码几乎是正确的,只是缺少了
+=
运算符。
+=
运算符附加到变量的(
str
此处)以前的值。此运算符是在3.1版的
bash
中引入的。作为旁注,它还可以应用于数组变量,以便将新元素附加到数组中。还必须注意的是,在算术上下文中,
+=
运算符右侧的表达式作为算术表达式进行计算并添加到变量的当前值。

这可能就是您要查找的:

#!/bin/bash

chars='abcdefghijklmnopqrstuvwxyz'
n=10

str=
for ((i = 0; i < n; ++i)); do
    str+=${chars:RANDOM%${#chars}:1}
    # alternatively, str=$str${chars:RANDOM%${#chars}:1} also possible
done

echo "$str"
!/bin/bash
chars='abcdefghijklmnopqrstuvxyz'
n=10
str=
对于((i=0;i

您的代码几乎是正确的,只是缺少了
+=
运算符。
+=
运算符附加到变量的(
str
此处)以前的值。此运算符是在3.1版的
bash
中引入的。作为旁注,它还可以应用于数组变量,以便将新元素附加到数组中。还必须注意的是,在算术上下文中,
+=
运算符右侧的表达式作为算术表达式进行计算session并添加到变量的当前值。

我以前看到过,但我的目标不是打印字符串。我的目标是将其存储在变量中。这可能很容易做到,但我对bash完全不熟悉,我不知道如何做。
我的目标是将其存储在变量中。
sooo。
variable=$(无论什么;while(…);这里;完成;你想要的)
?这几乎是一个精确的问题,但这里的问题似乎是生成字符串,而不是获取随机字符。我以前看到过这一点,但我的目标不是打印字符串。我的目标是将其存储在变量中。这可能很容易做到,但我对bash完全不熟悉,不知道如何做到这一点。
我的目标是将其存储在变量中
sooo.
variable=$(随便什么;while(..);here;done;you want)
?这里有一个几乎完全一样的问题,但这里的问题似乎是生成字符串,而不是获取随机字符。