2012-09-23 82 views
2

我一直在關於今晚學習bash的研究,我一直在嘗試創建一個隨機數字序列,它使用一個範圍的所有數字,並且每個數字只用一次。所以像輸入1-5的範圍會輸出類似4-3-5-2-1或2-5-1-3-4等等。我被困在這一張上。在bash中生成非重複的隨機數字序列

謝謝!

+0

只是一個信息音符更多的bash:你正在尋找的是隨機排列輸入範圍。 – chepner

回答

2

下面的命令不是特定於bash的,但它的工作

seq 1 5 | shuf 

具體與子

x=12345 
for((i=5;i>0;i--));do 
    ((r=RANDOM%i+1)) 
    echo ${x:r-1:1} 
    x=${x:0:r-1}${x:r} 
done 
+0

哈!爲了方便,謝謝! – user1691946