写一个脚本admin_user.sh,其用法格式为:

admin_user.sh --add USERLIST --del USERLIST -v|--verbose -h|--help

其中,

-h|--help 选项,只能单独使用,用于显示帮助信息;

-add 选项,用于添加用户,USERLIST为用户列表,用户之间用逗号隔开;

-del 选项,用于删除用户,USERLIST为用户列表,用户之间用逗号隔开;

使用 -add 或者 --del 选项时,如果同时使用了-v 选项,显示详细的提示;

#!/bin/bash
#
DEBUG=
ADD=
DEL= for I in `seq $#`;do
if [ $# -gt ];then
case $ in
-v|--verbose)
DEBUG=
shift
;;
-h|--help)
echo "Usage: `basename $0` --add USERLIST --del USERLIST -v|--verbose -h|--help"
exit
;;
--add)
ADD=
ADDUSERS=$
shift
;;
--del)
DEL=
DELUSERS=$
shift
;;
*)
echo "Usage: `basename $0` --add USERLIST --del USERLIST -v|--verbose -h|--help"
exit
;;
esac
fi
done # 添加用户 if [ $ADD -eq ];then
for USER in `echo $ADDUSERS | sed 's/,/ /g'`;do
if id $USER &> /dev/null;then
[ $DEBUG -eq ] && echo "user $USER exists."
else
useradd $USER
[ $DEBUG -eq ] && echo "Add user $USER successful."
fi
done
fi # 删除用户 if [ $DEL -eq ];then
for USER in `echo $DELUSERS | sed 's/,/ /g'`;do
if ! id $USER &> /dev/null;then
[ $DEBUG -eq ] && echo "user $USER not exists."
else
userdel -r $USER
[ $DEBUG -eq ] && echo "Del user $USER successful."
fi
done
fi

Shell脚本——添加和删除用户的更多相关文章

  1. shell脚本实例-case 删除用户判断的小案例

    #!/usr/bin/bash read -p "Please input a username:" user id $user &>/dev/null if [ $ ...

  2. Centos7下crontab+shell脚本定期自动删除文件

    问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任 ...

  3. Shell脚本中实现切换用户并执行命令操作【转】

    第一种方法 cat test.sh #!/bin/bashsu - test <<EOFpwd;exit;EOF 执行结果图: 第二种方法 当然也可以用下面的命令来执行 复制代码代码如下: ...

  4. Ansible 从MySQL数据库添加或删除用户

    mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) My ...

  5. 使用shell脚本添加用户

    该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户. 示例代码如下: #!/bin/bash grep_user() { R=`gre ...

  6. ftp:linux下利用shell脚本添加虚拟用户并赋予权限

    首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...

  7. linux (RHEL) 添加和删除用户

    linux添加新用户使用 useradd -----create a new user or update default new user information 删除用户使用userdel  -- ...

  8. shell脚本添加实例化参数

    通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...

  9. Linux命令之useradd和userdel(添加、删除用户)

    一.[useradd]:添加用户命令 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s sh ...

随机推荐

  1. 练手WPF(二)——2048游戏的简易实现(下)

    接着上一篇继续~~~ 6.动画显示增加分数 /// <summary> /// 动画显示增加得分 /// </summary> /// <param name=" ...

  2. delphi消息发送字符串

    delphi消息发送字符串 其实不论什么方法,归根揭底都是通过传递对象的指针来达到效果的. 方法一: procedure SendString(strMSG: string);var  Data: t ...

  3. JavaScript调用百度地图

    在网站开发过程中,经常会调用到地图,百度地图提供Web开发.Android开发.iOS开发API及SDK,百度地图JavaScript API可帮助您在网站中构建功能丰富.交互性强的地图应用,本篇博客 ...

  4. 解决 bash: vue command not found

    背景  : win10 使用  yarn  全局 安装  vue/cli 后   yarn  global add  @vue/cli 提示安装成功 使用vue create   提示  bash: ...

  5. SAP MM 同一个序列号可以被多次用在交货单发货过账?

    SAP MM 同一个序列号可以被多次用在交货单发货过账? 如下公司间转储订单,从公司代码CSAS转入公司代码HKCS, 物料有启用序列号管理. 转储数量为5 PC.该STO单据共计有2个外向交货单 8 ...

  6. 【转】gradle for android 第一篇

    正如大家所见,这是本英文书,而由于国内的gradle翻译资料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加自己的心得体会以及在实际工作上的实战,希望大家能够喜欢. 如 ...

  7. iOS深拷贝浅拷贝

    浅拷贝:浅拷贝并不拷贝对象本身,只是对指向对象的指针进行拷贝深拷贝:直接拷贝对象到内存中一块区域,然后把新对象的指针指向这块内存 在iOS中并不是所有对象都支持Copy和MutableCopy,遵循N ...

  8. HeadFirst设计模式---简单工厂

    简单工厂的理解 简单工厂不是设计模式的一种,只是代码规范而且.也就是说构造一个披萨工厂出来,按不同味道生产不同的披萨. 类图 抽象披萨 public abstract class AbstractPi ...

  9. 项目进程中input的onblur事件挂不上去,失效问题解决记录

    一开始直接在js文件中写 var n=document.querySelector("input"); n.onblur=funcition(){ ///事件过程吧啦啦啦 }; 事 ...

  10. 多线程之callable学习

    最近在看多线程方面的内容,注意到java中原来除了Runnable和Thread之外还有Callable的方式实现多线程,并且Callable还能得到子线程的返回值,这是前面两种方式所不具有的. Ca ...