Skip to content

Instantly share code, notes, and snippets.

@allenyllee
Forked from markusfisch/uuid.sh
Created January 12, 2018 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save allenyllee/bc7975f787ef83604e3ca262fa5e6fc0 to your computer and use it in GitHub Desktop.
Save allenyllee/bc7975f787ef83604e3ca262fa5e6fc0 to your computer and use it in GitHub Desktop.
Generate a random UUID in bash
#!/usr/bin/env bash
# Generate a pseudo UUID
uuid()
{
local N B C='89ab'
for (( N=0; N < 16; ++N ))
do
B=$(( $RANDOM%256 ))
case $N in
6)
printf '4%x' $(( B%16 ))
;;
8)
printf '%c%x' ${C:$RANDOM%${#C}:1} $(( B%16 ))
;;
3 | 5 | 7 | 9)
printf '%02x-' $B
;;
*)
printf '%02x' $B
;;
esac
done
echo
}
if [ "$BASH_SOURCE" == "$0" ]
then
uuid
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment