如何在Shell脚本中生成uuid

时间:2019-05-16 16:28:53

标签: bash shell uuid

是否有一种类似于$ RANDOM的在shell脚本中生成uuid的方法,我可以使用$ uuidgen来获取uuid,还是需要安装任何软件包来在shell脚本中生成uuid

#!/bin/bash
echo $RANDOM
echo $uuid

3 个答案:

答案 0 :(得分:2)

您尝试过

uuidgen

它是在MacOS之类的freeBSD系统上直接安装的。您可能必须在其他系统上安装e2fsprogs软件包。在debian上,您必须安装uuid-runtime:

sudo apt-get install uuid-runtime

uuidgen工作。

答案 1 :(得分:0)

检查一下,我遇到了完全相同的问题,并以这种方式解决了。忽略代码在做什么,只要注意我正在使用uuidgen的部分即可。

#!/bin/bash
#   Create 100000 small files between 1K and 100K and stored in $2 directory
#   sh create_small_files.sh 1000 small_3

MAX=$1
DIR=$2

for i in $(seq $MAX)
do
   for y in $(shuf -i 1-100 -n 100)
   do
      name=$(uuidgen)
      dd if=/dev/urandom of=./$2/$name bs=${y}k count=1
   done
done

我正在使用fedora 29,因此为了使此命令可用,您需要安装它。

util-linux-2.32.1-1.fc29.x86_64 : A collection of basic system utilities
Repo        : fedora
Matched from:
Filename    : /usr/bin/uuidgen

干杯。

答案 2 :(得分:0)

这篇比较全面的文章。 http://0pointer.de/blog/projects/ids.html

Linux提供了一个内核接口,可通过读取以下内容来按需生成UUID: / proc / sys / kernel / random / uuid

这是生成UUID的非常简单的界面。也就是说,UUID背后的逻辑不必要地复杂,通常,从 / dev / urandom

中读取16个字节左右通常是一个更好的选择。