當前位置:編程學習大全網 - 編程軟體 - shell腳本生成[4,9]範圍內的隨機整數,包含邊界值4和9,並將隨機數序列存放在壹個數組中,腳本實現?

shell腳本生成[4,9]範圍內的隨機整數,包含邊界值4和9,並將隨機數序列存放在壹個數組中,腳本實現?

#!/bin/sh

declare -a arr #聲明arr為數組

arr=(`seq 4 9 | awk 'BEGIN{srand();ORS=" "} {b[rand()]=$0} END{for(x in b) print b[x]}'`)

echo ${arr[*]} #打印數組array的所有元素

exit 0

說明:

生成[4,9]範圍內不重復的隨機整數,並保存到數組arr中。

seq 4 9 用於生成4~9的整數序列(包含邊界值4和9)。

awk中的rand() 函數用於隨機產生壹個0到1之間的小數值(保留小數點後6位)。

由於rand()只生成壹次隨機數,要使用srand() 函數使隨機數滾動生成(括號裏留空即默認采用當前時間作為隨機計數器的種子)。這樣以秒為間隔,隨機數就能滾動隨機生成了。

限制:

由於以秒為間隔,所以如果快速連續運行兩次腳本(1s內),妳會發現生成的隨機數還是壹樣的。

  • 上一篇:HR方面:員工工作中思維方式轉變的問題。
  • 下一篇:VC編程中如何獲得彈出菜單中的彈出菜單的指針
  • copyright 2024編程學習大全網