随机数生成器及case语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机数生成器及case语句相关的知识,希望对你有一定的参考价值。
一、随机数生成器
/dev/random和/dev/urandom,区别:random它是收集一些键盘鼠标等敲击的次数间隔时间等操作,把他们作为随机数保存在 “熵池” 里面,当用到的时候从“熵池”里面取出,当“熵池”里面的数消耗完后,会卡在界面等待你敲键盘等操作生成随机数,安全等级高。而urandom 当“熵池” 里的数消耗完后,不会卡死,会利用软件来生成随机数,安全等级低。
练习:生成10个随机数,找出最大的那个:
[[email protected] ~]# cat max.sh
#!/bin/bash
MAX=0
for i in {1..10}
do
MYRANDOM=$RANDOM #生成随机数保存在MYRANDOM里
echo $MYRANDOM
[ $MYRANDOM -gt $MAX ] && MAX=$MYRANDOM
done
echo "MAX=$MAX"
二、case 选择结构语句
用法:
case SWITCH in
value1)
statement。。。
;;
value2)
statement。。。
;;
。。。
*)
statement。。。
;;
esac
练习:写一个脚本showlogged.sh,其用法格式为:
showlogged.sh -v -c -h|--help
其中,-h选项只能单独使用,用于显示帮助信息;-c选项时,显示当前系统上登录的所有用户数;如果同时使用了-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息;
#!/bin/bash
for i in `seq 1 $#`
do
if [ $# -gt 0 ];then
case $1 in
‘-c‘)
DEBUGC=1
shift
;;
‘-v‘)
DEBUGV=1
shift
;;
*)
echo "Usage:`basename $0` -v| -c| -h|--help"
;;
esac
fi
done
if [[ $DEBUGC -eq 1 ]];then
echo "当前在线人数:`who | wc -l`"
fi
if [[ $DEBUGV -eq 1 ]];then
who
fi
以上是关于随机数生成器及case语句的主要内容,如果未能解决你的问题,请参考以下文章