【发布时间】:2018-02-20 17:07:43
【问题描述】:
我正在使用以下命令为我的 shell 脚本生成一个唯一的 ID。我想在不使用硬盘上的任何中间文件的情况下捕获变量中的输出。
echo `dmidecode –t 4 -s system-uuid`-$$-$BASH_SUBSHELL-$BASHPID-`date '+%Y%m%d_%H%M_%S_%N'` | tr '-' '_'
XXB3A1XX_81XX_4XX2_AXX4_XXXX62820BF_24115_0_8550_201709XX_1446_46_385924883
我可以使用反引号或 $() 构造,但这样做会改变 $BASH_SUBSHELL 的值并稀释唯一 id 的值。
欢迎任何不使用硬盘并且在捕获变量中的输出时不更改 $BASH_SUBSHELL 值的解决方案。
注意:示例中的结果部分被 X 遮挡
【问题讨论】:
标签: linux bash pid uniqueidentifier unique-id