一、隨機數生成器
/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