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

标签 bash openssl mac-address

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

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

谢谢!

最佳答案

像这样存储变量:

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

现在 $myVar 可以用来指代你的号码:

echo $myVar

$()subshell 中运行括号内的命令,然后存储在变量 myVar 中。这叫做 command substitution .

关于bash - 将变量设置为终端命令的结果 (Bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663820/

相关文章:

bash - 无法使用 curl 命令下载 github 项目

bash - virtualenv 名称未显示在 zsh 提示符中

header - 编译时,OpenSSL header 与当前版本不匹配

networking - 网络中的物理地址和 MAC 地址有什么区别?

string - 对于每个文件 : Walk line by line and grep for string (incorrect output)

bash - 从目录递归查找最大文件大小

ssl - 将 SSL 证书从 .pfx 转换为 .key

c++ - 将 Windows 商店中的私钥转换为 PEM(用于 OpenSSL)

android - 如何从具有 OS 11 的 Android 设备获取 mac 地址?

java - 查找连接到同一 Wifi 网络的所有设备的 MAC 地址