是否有一种类似于$ RANDOM的在shell脚本中生成uuid的方法,我可以使用$ uuidgen来获取uuid,还是需要安装任何软件包来在shell脚本中生成uuid
#!/bin/bash
echo $RANDOM
echo $uuid
答案 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个字节左右通常是一个更好的选择。