Linux Shell 008-随机数

Linux Shell 008-随机数

本节关键字:Linux、Bash Shell、随机数
相关指令:$RANDOM

生成一个随机数

系统变量:RANDOM,默认会产生0~32767的随机整数

随机数生成示例

# 打印一个随机数
$ echo $RANDOM

# 查看系统上一次生成的随机数
$ set|grep RANDOM
RANDOM=28325

# 产生0~1之间的随机数
$ echo $[$RANDOM%2]

# 产生0~2之间的随机数
$ echo $[$RANDOM%3]

# 产生0~3之间的随机数
$ echo $[$RANDOM%4]

# 产生0~9内的随机数
$ echo $[$RANDOM%10]

# 产生0~100内的随机数
$ echo $[$RANDOM%101]


# 产生50-100之内的随机数
$ echo $[$RANDOM%51+50]

# 产生三位数的随机数
$ echo $[$RANDOM%900+100]

随机数应用案例

随机数案例1:

题目:产生一个phonenum.txt文件,随机产生以139开头的手机号1000个,每个一行。

#!/bin/bash
count=0
while true
do
    n1=$[$RANDOM%10]
    n2=$[$RANDOM%10]
    n3=$[$RANDOM%10]
    n4=$[$RANDOM%10]
    n5=$[$RANDOM%10]
    n6=$[$RANDOM%10]
    n7=$[$RANDOM%10]
    n8=$[$RANDOM%10]
    echo "139$n1$n2$n3$n4$n5$n6$n7$n8" |tee -a phonenum.txt && let count++
    if [ $count -eq 1000 ];then
        break
    fi
done

随机数案例2

题目:随机产生以139开头的手机号1000个,在这1000个手机号里抽奖5个幸运观众,显示出这5个幸运观众,但只显示头3个数和尾号的4个数,中间的都用*代替

#!/bin/bash
# choujiang
phone=phonenum.txt
for ((i=1;i<=5;i++))
do
    num=`wc -l phonenum.txt |cut -d' ' -f1`
    line=`echo $[$RANDOM%$num+1]`
    luck=`head -$line $phone |tail -1`
    sed -i "/$luck/d" $phone
    echo "幸运观众是:139****${luck:7:4}"
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值