2012-09-23 46 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