隨機數生成器及case語句
阿新 • • 發佈:2018-07-23
wc -l 間隔 相關 練習 val 軟件 最大 信息 $1 一、隨機數生成器
/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語句