summaryrefslogtreecommitdiff
path: root/doc/uuid.pt.1.adoc
blob: a0d507b280ba7d12e4cb151938e623f17c590f52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
= uuid(1)



== NAME

uuid - generate or validate a UUIDv4



== SYNOPSYS

*uuid* [_STRING_]



== EXAMPLES


=== Print a UUID on the terminal

....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....


=== Create a new UUID as part of a path

....
dir="$PWD"/"$(uuid)"/data
....


=== Validate a given UUID

....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
	echo "Bad UUID in directory: $ID" >&2
	exit 1
fi
....



== DESCRIPTION

The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.



== OPERANDS

_STRING_:: If it is

  *not given*::: generate a brand new random UUIDv4, print it to _stdout_ and exit normally;
  *given*:::   test if it is a valid UUIDv4 and exit normally if so.



== IO


=== STDIN

Not used.


=== STDOUT

The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:

....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....

An example output is:

....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....


=== STDERR

Not used.


=== INPUT FILES

None.


=== OUTPUT FILES

None.



== EXIT STATUS

0:: Generating or validating a UUID was successfull.
3:: UUID validation failed.



== CONFORMING TO

The v4 UUID defined in *RFC 9562*.



== SEE ALSO



== AUTHORS

mailto:eu@euandre.org[EuAndreh] and contributors.



== BUGS

* Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. Use the subject "[uuid] BUG or TASK: <description>".
* Browse bugs https://euandre.org/git/uuid/TODOs.html[online].
* https://euandre.org/git/uuid/[Homepage].
* https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and discussions].