本篇介紹 Linux shell script 產生隨機亂數指令用法範例,只要在 command line 或 shell script 裡印出 $RANDOM
變數就可以了,範例如下,以下指令適用在 linux,也適用於 macOS,
在 shell 中印出 $RANDOM
變數的指令如下,$RANDOM
變數它是一個介於 0~32767 間的亂數,1
$ echo $RANDOM
如果要 Linux shell 產生 0~99 之間的隨機亂數的話,可以改這樣,1
$ echo $(($RANDOM % 100))
如果要 Linux shell 產生 0~100 之間的隨機亂數的話,可以改這樣,1
$ echo $(($RANDOM % 101))
如果要 Linux shell 產生 1~100 之間的隨機亂數的話,可以改這樣,1
$ echo $(($RANDOM % 100 + 1))
Linux shell 產生 3 位數的隨機亂數
當需要生成 3 位數的隨機整數時(不包含 0-99),你可以使用下列方式以確保結果在 100 到 999 的範圍內,這將產生一個在 100 到 999 之間的隨機 3 位整數。1
$ echo $(($RANDOM % 900 + 100))
Linux shell 產生 32767 以上的亂數
如果要產生 32767 以上的亂數呢?如果你需要產生一個大於 32767 的隨機亂數,你可以使用 /dev/urandom
,/dev/urandom
這個裝置可以產生更大範圍的隨機亂數。你可以使用 dd
指令來從 /dev/urandom
讀取隨機資料,指令如下,1
$ echo $(od -An -N2 -i /dev/urandom | awk '{print $1}')
Linux shell 產生 6 位數的隨機亂數
如果要產生 6 位數的隨機亂數呢?要產生一個6位數的隨機整數,你可以使用 shuf
指令來產生一個 6 位數的隨機整數,範圍從 100000 到 999999。你可以根據需要自訂範圍,確保它是一個6位數,範例如下,1
$ echo $(shuf -i 100000-999999 -n 1)
在 shell script 中可以這樣寫,1
2random_number=$(shuf -i 100000-999999 -n 1)
echo $random_number
macOS 沒有 shuf 指令,可以改用 awk 的方式,但需要結合其他指令,如下範例,
這範例是使用 awk
來產生一個 6 位數的隨機整數,範圍從 100000 到 999999。你可以根據需要自訂 min
和 max
的值來產生不同範圍的隨機亂數。1
$ awk -v min=100000 -v max=999999 'BEGIN{srand(); print int(min+rand()*(max-min+1))}'
以上就是 Linux shell script 產生隨機亂數指令用法範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!
其它相關文章推薦
Linux 常用指令教學懶人包