分页: 1 / 1

求脚本:5个1-50之间的不同随机数

发表于 : 2011-02-12 22:24
ebok
ABS的作业,头都大了
随机数可以用
$((RANDOM%52/3*3+1))
得出
但剩下的循环啊,判断啊,数组傻傻搞不清楚。
求指点。

Re: 求脚本:5个0-50之间的不同随机数

发表于 : 2011-02-13 11:59
astolia

代码: 全选

a=-1;b=-1;c=-1;d=-1;e=-1;r=-1;
for i in a b c d e;do
while [ $r -eq $a -o $r -eq $b -o $r -eq $c -o $r -eq $d -o $r -eq $e ];do
r=$((RANDOM%51))
done
eval $i=$r
done
echo $a $b $c $d $e

Re: 求脚本:5个0-50之间的不同随机数

发表于 : 2011-02-16 0:18
sk1418
楼上的可以。但是如果是要取10个,20个,就麻烦点了。

试着写了一个下面的
1-50之间取

代码: 全选

#!/bin/bash

RESULT=""
while [ $(echo "$RESULT" |grep -oE "[0-9]+"|wc -l) -ne 5 ] 
do
    ran=$RANDOM
    let "ran %= 50"
    [ $ran -eq 0 ] && ran=1
    [ $(echo "$RESULT"|grep -c "$ran") -eq 0 ] && RESULT="$RESULT $ran"
done
echo $RESULT

Re: 求脚本:5个0-50之间的不同随机数

发表于 : 2011-02-17 11:18
bzcy
mark

学习下随机数的操作。

Re: 求脚本:5个0-50之间的不同随机数

发表于 : 2011-02-18 10:04
Ce L-sky
我的帖子里有这个东东