生成随机十六进制数字的Shell脚本

13

我需要帮助来编写Shell脚本。这是我正在使用的代码,用于编辑图像过滤器,其中我使用十六进制颜色以及白色。现在我需要生成随机十六进制颜色,以便每次运行代码时都会生成新的图像。我能够通过特定的十六进制颜色代码来完成这个操作。以下是该代码:

STRING="Freddy script converts an image into a different style"
echo $STRING

arg=$1
filename=(${arg//./ })

echo $filename

./freddy/popart -r 1 -c 1 -g 0 -i bilinear -c1 "#FF0000 white" $1 output-beta/$filename-popart1.png
在上面的代码中,popart是图像过滤器脚本,output-beta是popart1.png将被保存的文件夹。我需要在“#FF0000”的位置生成随机十六进制代码。请帮忙。

你想要数字的位数是多少?是固定的吗?你想从某个特定的数字开始吗? - Inian
数字位数必须是6位,可以从#000000开始 - Pradhvan Bisht
2个回答

27
 echo "#$(openssl rand -hex 3)"

它具有安全随机性的优点。


4

你可以使用hexdump命令生成随机的三字节十六进制代码,方法如下:

hexdump -n 3 -v -e '"#" 3/1 "%02X" "\n"' /dev/urandom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接