$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