I am using following command to generate an unique id for my shell script. I want to capture the output in a variable without using any intermediate file on hard disk.
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
I can use backquote or $() construct but doing so changes the value of $BASH_SUBSHELL and dilutes the value of unique id.
Any solution is welcome which does not use hard disk and does not change the $BASH_SUBSHELL value while capturing the output in a variable.
note: result in the example is partly obscured with X
Use
printf
and save the variables in a format string:Then: