GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zufallszahl zwischen Bereich in Shell

Wie wäre es mit der Nutzung der Nanosekunden der Systemzeit?

date +%N

Es ist nicht so, dass Sie hier kryptografisch nützliche Zahlen benötigen.

Je nachdem welche Version von /bin/sh es ist möglich, dass Sie Folgendes tun können:

$(( date +%N % 60 ))

Wenn es $(()) nicht unterstützt Syntax, aber Sie haben dc, Sie könnten versuchen:

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

Ohne Kenntnis des Betriebssystems, Version von /bin/sh oder welche Tools verfügbar sind, ist es schwierig, eine Lösung zu finden, die garantiert funktioniert.


Wenn Sie tr, head und /dev/urandom haben, können Sie Folgendes schreiben:

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

Dann müssen Sie den Restoperator verwenden, um den Bereich 0-60 einzugeben.


Hast du awk? Sie können die Funktion rand() von awk aufrufen. Zum Beispiel:

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

Linux
  1. Überprüfen Sie, ob das Argument ein gültiges Datum in der Bash-Shell ist

  2. Finden Sie Dateien, die zwischen einem Datumsbereich erstellt wurden

  3. Unterschied zwischen '{}' und {} im Find-Befehl?

  4. Zufallszahl-Entropie für GPG-Schlüssel hinzufügen?

  5. grep Extraktnummernbereich

Bash-Sequenzausdruck (Bereich)

So ändern Sie die Standard-Shell im Linux-System

Einfache Möglichkeiten zum Generieren eines zufälligen Passworts in der Linux-Shell

Anzahl der Tage bis zur Zahlung berechnen?

Eine Anleitung zum Atop-Befehl in Linux

So halten Sie Rocky Linux 8 auf dem neuesten Stand