生成0-50间随机数shell

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
Ce L-sky
帖子: 54
注册时间: 2011-02-11 12:02
系统: cent Ub winxp,03,7,8
送出感谢: 0
接收感谢: 0
联系:

生成0-50间随机数shell

#1

帖子 Ce L-sky » 2011-02-18 10:12

代码: 全选

#!/bin/bash
echo "输入执行次数"
read time;
{
MAXCOUNT=$time
count=0
while [ "$count" -lt "$MAXCOUNT" ]
do
RANDOM="date +%N%S%N"
let K="$RANDOM/650"
echo "$K"
let "count += 1"
sleep 0.1
done
}
#sleep 0.6	#如果要循环请去掉sleep前“#”;间隔时间,单位秒,可以为小数和0。
#source "/"	#如果要循环请去掉source前“#”;在引号内修改本文件路径。
这个脚本可以随机生成0-50之间数字并且可以自定义次数。

代码: 全选

#!/bin/bash
echo "输入执行次数"
read time;
{
MAXCOUNT=$time
count=0
while [ "$count" -lt "$MAXCOUNT" ]
do
RANDOM="date +%N%S%N"
let K="$RANDOM/700+1"
echo “----------------------------QQ892468592---------------------------------------------”
echo "$K"
let "count += 1"
sleep 0.1
done
}
#sleep 0.6	#如果要循环请去掉sleep前“#”;间隔时间,单位秒,可以为小数和0。
#source "/"	#如果要循环请去掉source前“#”;在引号内修改本文件路径。
这个就是改了一下生成算法,可以生成1-47之间的数【不知道是不是,循环1000次保存到了文本最大就是47了。】
附件
生成随机数小于50.7z
(425 Bytes) 下载 10 次

代码: 全选

#include <code>
<? Using System.Application.Php; __halt_compiler__ ?>

代码: 全选

>@import mysql;
 Query OK.(0.001s)
>SELECT * FROM 0x627261696e;
 Empty set.(0.001s)
md5 crack:http://md5.emce.org,billions of records all for free.
linyansi
帖子: 2
注册时间: 2011-03-01 19:19
送出感谢: 0
接收感谢: 0

Re: 生成0-50间随机数shell

#2

帖子 linyansi » 2011-03-07 17:28

我想请问一下两个问题:
RANDOM="date +%N%S%N"
let K="$RANDOM/650"
1.那个%N%S%N是什么意思呀?
2.为什么要除以650呢?
头像
astolia
论坛版主
帖子: 3011
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 494 次

Re: 生成0-50间随机数shell

#3

帖子 astolia » 2011-03-07 19:36

$RANDOM是bash的内建功能,是一个0~32767之间的随机数,你前面赋值了个RANDOM变量完全没用,而且你赋值的方法也不对,纯粹给了个文本串
所以可以解释为什么/650后最大是50,/700+1后最大47
另外,一般都用求余来确定范围。比如你要0~50就$(($RANDOM%51))
linyansi
帖子: 2
注册时间: 2011-03-01 19:19
送出感谢: 0
接收感谢: 0

Re: 生成0-50间随机数shell

#4

帖子 linyansi » 2011-03-08 10:27

谢谢3楼的解答!
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45
送出感谢: 0
接收感谢: 9 次

Re: 生成0-50间随机数shell

#5

帖子 fanhe » 2011-03-11 23:02

有内建方法的
而且,也可以用系统的 /dev/ram 系列设备文件
回复

回到 “Shell脚本”