隨機數生成器及case語句

一、隨機數生成器

            /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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章