linux bash脚本编程,Linux命令:bash脚本编程--脚本

练习:写一个脚本adminuser33.sh,其用法格式为:

adminuser33.sh --add -del -h|--help -v|--verbose

其中,-h选项只能单独使用,用于显示帮助信息;--add选项时,新增用户;如果同时使用了-v选项,则新增用户后显示新增用户;--del选项时,删除用户。

#!/bin/bash

#

DEBUG=0

ADD=0

DEL=0

for I in `seq 1 $#` ; do

if [ $# -gt 0 ]; then

case $1 in                   有一个匹配就结束整个CASE

-v|--verbose)

DEBUG=1

shift  ;;

-h|--help)

echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"

exit 0

;;

--add)

ADD=1

ADDUSERS=$2

shift 2

;;

--del)

DEL=1

DELUSERS=$2

shift 2

;;

*)

echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"

exit 7

esac

fi

done

if [ $ADD -eq 1 ] ; then

for AUSER in`echo $ADDUSERS | sed 's@,@ @g' ` ; do

if id $AUSER &> /dev/null ; then

[ $DEBUG -eq 1 ]&& echo "$AUSER exists."

else

useradd $AUSER

[ $DEBUG -eq 1 ] && echo "Add user $AUSER finished."

fi

done

fi

if [ $DEL -eq 1 ] ; then

for DUSER in `echo $DELUSERS | sed 's@,@ @g' ` ; do

if id $DUSER &> /dev/null ; then

userdel -r $DUSER

[ $DEBUG -eq 1 ] && echo "delete $DUSER finished."

else

[ $DEBUG -eq 1 ] && echo "$DUSER not exists."

fi

done

fi

echo " $DEBUG  add:$ADD  del:$DEL"

[root@localhost ~]# ./adminuser33.sh -v --add tom2,tom3 --del tom2

Add user tom2 finished.

Add user tom3 finished.

delete tom2 finished.

1  add:1  del:1

练习:写一个脚本showlogged.sh,其用法格式为:

showlogged.sh -v -c-h|--help

其中,-h选项只能单独使用,用于显示帮助信息;-c选项时,显示当前系统上登录的所有用户数;如果同时使用了-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息;如

1 #!/bin/bash

2 #

3

4

5 declare SHOWNUM=0

6 declare SHOWUSERS=0

7 for I in `seq 1 $#` ; do

8   if [$# -gt 0 ]; then

9     case $1 in

10      -c)

11          SHOWNUM=1

12         shift

13          ;;

14      -v|--verbose)

15          let SHOWUSERS=1

16          SHOWNUM=1

17          shift

18          ;;

19      -h|--help)

20          echo "showlogged.sh -v -c -h|--help."

21          exit 0

22          ;;

23      *)

24          echo "showlogged.sh -v -c -h|--help."

25          exit 7

26          ;;

27      esac

28   fi

29 done

30 if [ $SHOWNUM -eq 1 ]; then

31   echo "Logged usrs: `who | wc -l`"

32   who

33   if [ $SHOWUSERS -eq 1 ] ; then

34      echo "All users: `cat /etc/passwd | cut -d: -f1 |wc -l`"

35   fi

36 fi

[root@localhost ~]# ./showloged.sh -v

Logged usrs: 3

root     pts/0        2016-10-24 07:55 (*.*.135.13)

root     pts/1        2016-10-24 13:34 (*.*.135.13)

root     pts/2        2016-10-24 15:30 (*.*.135.13)

All users: 62

[root@localhost ~]# ./showloged.sh -c

Logged usrs: 3

root     pts/0        2016-10-24 07:55 (*.*.135.13)

root     pts/1        2016-10-24 13:34 (*.*.135.13)

root     pts/2        2016-10-24 15:30 (*.*.135.13)

---end---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值