一尘不染

使用random在bash中生成随机字符串

linux

我正在尝试使用bash函数RANDOM从包含整数和字母数字的变量中创建一个由8个字符组成的随机字符串(例如:var =“ abcd1234ABCD”)

谢谢。


阅读 630

收藏
2020-06-07

共1个答案

一尘不染

使用参数扩展。${#chars}是可能的字符数,%是模运算符。${chars:offset:length}选择position处的字符offset,即本例中的0-length($
chars)个字符。

chars=abcd1234ABCD
for i in {1..8} ; do
    echo -n "${chars:RANDOM%${#chars}:1}"
done
echo
2020-06-07