码迷,mamicode.com
首页 > 其他好文 > 详细

随机数生成器及case语句

时间:2018-07-23 00:06:54      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:seq   done   显示   show   bug   $1   root   相关   等级   

一、随机数生成器

            /dev/random和/dev/urandom,区别:random它是收集一些键盘鼠标等敲击的次数间隔时间等操作,把他们作为随机数保存在 “熵池” 里面,当用到的时候从“熵池”里面取出,当“熵池”里面的数消耗完后,会卡在界面等待你敲键盘等操作生成随机数,安全等级高。而urandom 当“熵池” 里的数消耗完后,不会卡死,会利用软件来生成随机数,安全等级低。
    练习:生成10个随机数,找出最大的那个:
    [root@localhost ~]# 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语句

标签:seq   done   显示   show   bug   $1   root   相关   等级   

原文地址:http://blog.51cto.com/13803030/2148800

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!