Как вы, вероятно, заметили из каждого ответа, вы, как правило, имеете, чтобы «прибегнуть к программе».
Тем не менее, без использования каких-либо внешних исполняемых файлов, в Bash и КШ:
for i in {0..31}; do string+=$(printf "%x" $(($RANDOM%16))); done; echo $string
в Zsh:
for i in {0..31}; do string+=$(printf "%x" $(($RANDOM%16))); dummy=$RANDOM; done; echo $string
Обратите внимание, что из-за использования мод оператора на значение, которое находится в диапазоне от От 0 до 32767 распределение цифр с использованием вышеприведенных фрагментов будет искажено (не говоря уже о том, что цифры pseudo случайные в первую очередь).
В любом случае, правильный способ сделать это - использовать mktemp
, как в Ответы ораза.не
См. Также _ [Как создать UUID в bash?] (Https://serverfault.com/a/103366/1293) _. –