Browse Source

shuf(1) is not part of POSIX, neither is 'sort -R'

Jan Schaumann 5 năm trước cách đây
mục cha
commit
eff0481975
1 tập tin đã thay đổi với 7 bổ sung1 xóa
  1. 7 1
      tmpmail

+ 7 - 1
tmpmail

@@ -101,7 +101,7 @@ generate_email_address() {
     DOMAINS="1secmail.com 1secmail.net 1secmail.org esiix.com wwjmp.com" 
 
     # Randomly pick one of the domains mentiond above.
-    DOMAIN=$(printf "%b" "$DOMAINS" | tr " " "\n"| shuf -n 1)
+    DOMAIN=$(printf "%b" "$DOMAINS" | tr " " "\n"| randomize | tail -1)
 
     EMAIL_ADDRESS="$USERNAME@$DOMAIN"
 
@@ -209,6 +209,12 @@ list_emails() {
     printf "%b" "$INBOX" | column -t -s "||"
 }
 
+# shuf(1) is not part of POSIX, neither is 'sort -R'
+randomize() {
+	awk 'BEGIN {srand();} {print rand(), $0}' "$@" | \
+		sort -n -k1 | cut -d' ' -f2
+}
+
 view_email() {
     # View an email by providing it's ID
     #