GNU/Linux >> Linux Esercitazione >  >> Linux

Crea numeri casuali univoci (UUID) in bash

Su Linux, il util-linux /util-linux-ng package offre un comando per generare UUID:uuidgen .

$ uuidgen
5528f550-6559-4d61-9054-efb5a16a4de0

Per citare il manuale:

Il programma uuidgen crea (e stampa) un nuovo identificatore univoco universale (UUID) utilizzando il libuuid (3) biblioteca. Il nuovo UUID può essere ragionevolmente considerato unico tra tutti gli UUID creati sul sistema locale e tra gli UUID creati su altri sistemi in passato e in futuro.

Ci sono due tipi di UUID che uuidgen può generare:UUID basati sul tempo e UUID casuali. Per impostazione predefinita, uuidgen genererà un UUID casuale se è presente un generatore di numeri casuali di alta qualità. Altrimenti, sceglierà un UUID basato sul tempo. È possibile forzare la generazione di uno di questi due tipi di UUID utilizzando il -r o -t opzioni.

Addendum:l'OP aveva fornito un collegamento nei commenti alla documentazione per Presto DB. Dopo un po' di ricerche, ho trovato questa discussione correlata in cui si menziona esplicitamente che il node.id property è effettivamente un UUID.

Aggiunta delle informazioni fornite da frostschutz in un commento:

In alternativa al uuidgen /libuuid approccio, puoi utilizzare un'interfaccia esposta dal kernel Linux stesso per generare UUID:

$ cat /proc/sys/kernel/random/uuid
00db2531-365c-415c-86f7-503a35fafa58

L'UUID viene rigenerato ad ogni richiesta.


Linux
  1. Come creare una matrice di elementi unici da una stringa/array in Bash?

  2. Come valutare le stringhe come numeri in Bash

  3. BASH:come eseguire operazioni aritmetiche sui numeri in una pipe

  4. Cronologia di Bash senza numeri di riga

  5. Come generare numeri casuali nella shell BusyBox

Come creare alias Bash

Come visualizzare la cronologia di Bash senza numeri di riga

Come creare documenti con gli script Bash

Script Shell/Bash per trovare i numeri primi in Linux

Ordinamento di numeri con più decimali in bash

Crea un array con tutte le interfacce di rete in bash