博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell 编程(实例一)
阅读量:6767 次
发布时间:2019-06-26

本文共 1892 字,大约阅读时间需要 6 分钟。

创建一个脚本 admin.sh

完成如下作用:

  -h | --help : 提供帮助信息

  --add  Users : 完成用户添加

  -del User | --delete : 完成用户删除

  -v : 开启调试模式,显示信息

可以同时使用以上所有命令

#!/bin/bash#DEBUG=0ADD=0DELETE=0for i in `seq 1 $#`docase $1 in-h|--help)        echo "--v --help --add --delete --userlist"        ;;-v|--versbo)        DEBUG=1        shift        ;;--add)        ADD=1        ADDUSERS=`echo $2 | sed 's@,@ @g'`        shift 2        ;;-del|--delete)        DELETE=1        DELETEUSERS=`echo $2 | sed 's@,@ @g'`        shift 2        ;;*)#       echo 'Usage : `basename $0` --add USERLIST --delete USERLIST --v|--verbose --help'#       exit 7        ;;esacdoneif [ $ADD -eq 1 ]then        for USER in $ADDUSERS        do                if id $USER &> /dev/null                then                        [ $DEBUG -eq 1 ] && echo "$USER is exists!"                else                        useradd $USER                        [ $DEBUG -eq 1 ] && echo "$USER add succefully!"                fi        donefiif [ $DELETE -eq 1 ]then        for USER in $DELETEUSERS        do                if id $USER &> /dev/null                then                        userdel $USER                        [ $DEBUG -eq 1 ] && echo "$USER delete successfully!"                else                        [ $DEBUG -eq 1 ] && echo "$USER not exist!"                fi        donefi

 随机生成10个用户,并随机生成10位密码,把生成后的用户名和密码保存到文件

ADDUSER(){        USER=$1        PASSWD=$2        useradd $1 && echo $1:$2 | chpasswd        echo User:$1 pass:$2 >> /home/eko/test/user.log}DELUSER(){        USER=$1        userdel $1}OPREATE=$1if [ $OPREATE == 'add' ]then        for((i=0;i<10;i++))        do                ADDUSER "eko$i" `openssl rand -base64 10`        doneelif [ $OPREATE == 'del' ]then        for((i=0;i<10;i++))        do                DELUSER "eko$i"        doneelse        echo "参数错误"fi

 

转载于:https://www.cnblogs.com/xiaoliwang/p/8997050.html

你可能感兴趣的文章
Hyper-V 2012 R2 无法使用共享VHDX创建群集的可能
查看>>
Xbox One手柄
查看>>
洛谷—— P2504 [HAOI2006]聪明的猴子
查看>>
fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突_(解决方案)...
查看>>
ext4
查看>>
利用时间戳来准确计算某个时间点具现在的时间差(转)
查看>>
SDUT 小鑫の日常系列故事(六)——奇遇记 递推算法
查看>>
MySQL出现同步延迟有哪些原因?如何解决?
查看>>
Kaviza VDI-in-a-box 实验手册
查看>>
更改Lion中Mission Control背景壁纸的方法
查看>>
Mac安装pycrypto
查看>>
ccf算法模板
查看>>
SGA_TARGET与SGA_MAX_SIZE
查看>>
云计算硬件交换设备参数配置考虑
查看>>
安装django错误
查看>>
Java输入两个正整数m和n,求其最大公约数和最小公倍数。
查看>>
在Solaris 10编译并安装vim7.3
查看>>
Java中抽象类、接口、父类直接的区别与联系
查看>>
Google Chrome OS 将来能取代 Windows 帝国吗?
查看>>
设计原则二:空间和图底关系
查看>>