将变量设置为终端命令的结果 (Bash)

Rya*_*yan 2 bash openssl mac-address

所以我正在尝试制作一个 bash 文件,每 10 分钟轮换一次我的 MAC 地址,每次分配一个随机的十六进制数字。我想要一个名为random_hexa分配给此命令的结果的变量:openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'。然后我将获取该变量并稍后在脚本中使用它。

知道如何获取openssl命令的结果并将其分配给变量以供以后使用吗?

谢谢!

Set*_*eth 6

像这样存储变量:

myVar=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')  
Run Code Online (Sandbox Code Playgroud)

现在$myVar可以用来引用您的号码:

echo $myVar
Run Code Online (Sandbox Code Playgroud)

$()在子 shell中运行括号内的命令,然后将其存储在变量中myVar。这称为命令替换