$RANDOM
個人了解是一個用來生成随機數的一個變量 ,由此編寫一個腳本
[root@localhost script]# cat random.sh
#!/bin/bash
#
declare -i MAX=0
declare -i MIN=0
for I in `seq 1 10`; do
MYRANDOM=$RANDOM
[ $I -eq 1 ] && MIN=$RANDOM
if [ $I -le 9 ]; then
echo -n "$MYRANDOM,"
else
echo "$MYRANDOM"
fi
[ $MYRANDOM -gt $MAX ] && MAX=$MYRANDOM
[ $MYRANDOM -lt $MIN ] && MIN=$MYRANDOM
done
echo $MAX, $MIN
[root@localhost script]#
此腳本是用來将所生成的随機數 比大小 比出一個最大數和最小數并顯示
腳本執行結果:
[root@localhost script]# bash random.sh
20744,24195,5854,24168,10197,16685,10095,27664,14198,22593
27664, 5854
程式設計分為兩類
面向過程
控制結構
順序結構
選擇結構
循環結構
面向對象
選擇結構
if語句: 單分支 雙分支 多分支
現在一種新的選擇結構 case
使用格式
case $1 in
value1)
statement
...
;; (注意一定要加雙分号)
value2)
;;
value3)
;;
esac
下面一個簡單的腳本 當使用者在後邊跟一個參數 會識别該是數字還是大寫字母還是小寫字母,還是特殊字元
[root@localhost script]# cat recognition.sh
[0-9] )
echo "a number" ;;
[[:upper:]] )
echo "upper" ;;
[[:lower:]] )
echo "a lower case" ;;
*)
echo "Special character";;
執行結果:
[root@localhost script]# ./recognition.sh 2
a number
[root@localhost script]# ./recognition.sh E
upper
[root@localhost script]# ./recognition.sh e
a lower case
[root@localhost script]# ./recognition.sh #
Special character
當然我這個隻支援單字元,以後學習進階了再練習,這裡隻做簡單介紹!!OO
下邊又是一個例子: 個人研究了一上午才把老師所說的編寫出來
這個用途是 使用
./adminustrator -v --add user1,user2,user
這個腳本可以跟多個參數來添加使用者,并且可顯示資訊或者不顯示 後邊可以多個參數
[root@localhost script]# cat adminusers3.sh
DEBUG=0
ADD=0
DEL=1
for I in `seq 1 $#`; do
-v|--verbose)
DEBUG=1
shift ;;
-h|--help)
echo "Usage: `basename $0` --add USER_LISET --del USER_LIST -v|--verbose -h|--help"
exit 0 ;;
--add)
ADD=1
ADDUSER=$2
shift 2 ;;
--del)
DEL=1
DELUSER=$2
#*)
# echo "unknown option" ;;
if [ $ADD -eq 1 ]; then
for USER in `echo $ADDUSER | sed 's/,/ /g'`; do
if id $USER &> /dev/null; then
[ $DEBUG -eq 1 ] && echo "$USER exist"
else
useradd $USER
[ $DEBUG -eq 1 ] && echo "$USER add finished"
fi
done
fi
if [ $DEL -eq 1 ]; then
for USER2 in `echo $DELUSER | sed 's@,@ @g'`; do
if id $USER2 &> /dev/null; then
userdel -r $USER2
[ $DEBUG -eq 1 ] && echo "$USER2 del successful!"
echo "$USER2 is not exist"
End
Thanks for your watching!
本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1651185如需轉載請自行聯系原作者
Winthcloud