如何根据bash命令设置bash环境变量

Ale*_*lex 3 bash

我想通过命令生成随机字符串

 xxd -l 32 -c 32 -p < /dev/random
 dd1ad9f2deae0af5412e82fbbeb2df6b239e91d49d98638cc5b4bb94aac25463
Run Code Online (Sandbox Code Playgroud)

如何设置环境变量?下面两种方式都不行

export TMP_RPC_PASS=$(echo xxd -l 32 -c 32 -p < /dev/random)
export TMP_RPC_PASS=$(xxd -l 32 -c 32 -p < /dev/random)
Run Code Online (Sandbox Code Playgroud)

bash 在第二个变体后简单冻结并等待一些东西,只有 ctrl-c 允许返回命令提示符。

Til*_*man 6

第二个版本工作正常。它看起来冻结的原因是/dev/random当系统的熵池耗尽时会阻塞,等待收集新的熵。

为了避免阻塞,请使用/dev/urandom代替/dev/random. 对于大多数用途来说,这同样好。

export TMP_RPC_PASS=$(xxd -l 32 -c 32 -p /dev/urandom)
Run Code Online (Sandbox Code Playgroud)