GNU/Linux >> Linux Esercitazione >  >> Linux

Numero casuale tra l'intervallo nella shell

Che ne dici di usare i nanosecondi del tempo di sistema?

date +%N

Non è che tu abbia bisogno di numeri crittograficamente utili qui.

A seconda della versione di /bin/sh lo è, potresti essere in grado di fare:

$(( date +%N % 60 ))

Se non supporta il $(()) syntax, ma hai dc, potresti provare:

dc -e `date +%N`' 60 % p'

Senza sapere quale sistema operativo, versione di /bin/sh o quali strumenti sono disponibili è difficile trovare una soluzione che garantisca il funzionamento.


Se hai tr, head e /dev/urandom, puoi scrivere questo:

tr -cd 0-9 </dev/urandom | head -c 3

Quindi devi usare l'operatore resto per inserire l'intervallo 0-60.


Hai un problema? Puoi chiamare la funzione rand() di awk. Ad esempio:

awk 'BEGIN { printf("%d\n",rand()*60)  }' < /dev/null

Linux
  1. Come aumentare il numero di inode del disco in Linux

  2. Trova i file creati tra un intervallo di date

  3. Differenza tra '{}' e {} nel comando find?

  4. Compatibilità binaria tra Mac OS X e Linux

  5. Aggiunta di entropia numerica casuale per le chiavi GPG?

Espressione sequenza Bash (intervallo)

Come modificare la shell predefinita nel sistema Linux

Semplici modi per generare una password casuale su Linux Shell

Calcolare il numero di giorni per il pagamento?

Una guida al comando atop in Linux

Come mantenere aggiornato Rocky Linux 8