SierraX
Well-Known Member
Aus Gründen hab ich versucht in 10 Subnetzen je bis zu 25 zufällige IP's erstellen zu lassen… so weit so unspektakulär…
Ich hatte mit dann gewundert, dass , wenn ich die liste uniq machen wollte, die Anzahl der Zeilen von run zu run immer gleich blieb.
Bei weiteren Tests ist mir dann aufgefallen, das nur die Verteilung unterschiedlich war (in dem ich das sort einfach weg gelassen habe).
Ich bin zuerst von Hardware Seite ausgegangen… ein Digital Computer tut sich halt ein wenig schwer damit ein Random ein wenig zu salzen… kennt man ja auch vom Arduino. Komischerweise sind Bourne-shell, bash und ksh allerdings nicht davon betroffen.
Hatte dann noch überlegt, ob auf meinem OpenBSD das KSH vielleicht ein wenig zu alt ist… da sich das aber auf einem MBP-i9 mit Catalina und einem MM-M1 mit Big Sure reproduzieren liess… wird das wohl auch nicht der Grund sein.
Hat hier schonmal jemand von diesem Problem oder Feature gehört?
Code:
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort
Bei weiteren Tests ist mir dann aufgefallen, das nur die Verteilung unterschiedlich war (in dem ich das sort einfach weg gelassen habe).
Ich bin zuerst von Hardware Seite ausgegangen… ein Digital Computer tut sich halt ein wenig schwer damit ein Random ein wenig zu salzen… kennt man ja auch vom Arduino. Komischerweise sind Bourne-shell, bash und ksh allerdings nicht davon betroffen.
Code:
zsh
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t1.txt
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t2.txt
diff t1.txt t2.txt | wc -l
0
bash
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t1.txt
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t2.txt
diff t1.txt t2.txt | wc -l
498
ksh
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t1.txt
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t2.txt
diff t1.txt t2.txt | wc -l
497
sh
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t1.txt
for i in $(jot 10); do for j in $(jot 25); do echo 192.168.$(( 100 + i)).$(( 1 + $RANDOM % 255 ));done;done | sort > t2.txt
diff t1.txt t2.txt | wc -l
494
Hatte dann noch überlegt, ob auf meinem OpenBSD das KSH vielleicht ein wenig zu alt ist… da sich das aber auf einem MBP-i9 mit Catalina und einem MM-M1 mit Big Sure reproduzieren liess… wird das wohl auch nicht der Grund sein.
Hat hier schonmal jemand von diesem Problem oder Feature gehört?