Shell脚本——添加和删除用户
写一个脚本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脚本——添加和删除用户的更多相关文章
- shell脚本实例-case 删除用户判断的小案例
#!/usr/bin/bash read -p "Please input a username:" user id $user &>/dev/null if [ $ ...
- Centos7下crontab+shell脚本定期自动删除文件
问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任 ...
- Shell脚本中实现切换用户并执行命令操作【转】
第一种方法 cat test.sh #!/bin/bashsu - test <<EOFpwd;exit;EOF 执行结果图: 第二种方法 当然也可以用下面的命令来执行 复制代码代码如下: ...
- Ansible 从MySQL数据库添加或删除用户
mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) My ...
- 使用shell脚本添加用户
该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户. 示例代码如下: #!/bin/bash grep_user() { R=`gre ...
- ftp:linux下利用shell脚本添加虚拟用户并赋予权限
首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...
- linux (RHEL) 添加和删除用户
linux添加新用户使用 useradd -----create a new user or update default new user information 删除用户使用userdel -- ...
- shell脚本添加实例化参数
通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...
- Linux命令之useradd和userdel(添加、删除用户)
一.[useradd]:添加用户命令 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s sh ...
随机推荐
- 关于前端ajax请求url为何添加一个随机数
一.起因 我在做爬虫的时候发现很多网站上都在url上加一个随机数或者时间戳一开始我以为是啥加密后面发现其实他在后台解析的时候也不需要不排除有些网站他反爬就需要一个时间戳,那他加个随机数是做啥子 二.查 ...
- python验证码处理(1)
目录 一.普通图形验证码 这篇博客及之后的系列,我会向大家介绍各种验证码的识别.包括普通图形验证码,极验滑动验证码,点触验证码,微博宫格验证码. 一.普通图形验证码 之前的博客已向大家介绍了简 ...
- Maven快速入门--Idea版
目录 1.web项目的基本知识 1.1 项目构建 1.1.1传统的构建过程如下: 1.1.2 mavn构建项目 1.2 maven构建项目的优点: 2. 依赖管理 2.1 传统依赖管理 2.1.1 手 ...
- 回忆C++
内联函数 内联函数适用于函数较为短小的情况. 内联函数存在的意义是:提高程序运行效率. 内联函数的缺点:如果一个内联函数太长且频繁调用,会导致生成的可执行程序较大. 静态链接库会被嵌入到生成的可执行程 ...
- unity常用的坐标系转换
当调用别人的接口时,经常会有获取位置或向量的接口.遇到这些数据时,先要弄清楚现在获取的数据在哪个坐标系下的. 是否需要进行坐标系变换,一般提供的位置和向量都是在世界坐标系的,此时需要注意: ①对方的坐 ...
- this.$route和this.$router区别
this.$route 和 this.$router 这两个对象有什么区别: this.$route 是当前路由跳转对象,包含当前路由的name.path.query.params等属性 this.$ ...
- skipped obstructing working copy
svn update时报错,处理方法,将报错的文件夹压缩备份一下,然后删除报错的文件夹,重新update即可.
- c# 第15节 StringBuilder
本节内容: 1:StringBuilder 2:内容总结 1:StringBuilder 实例: 2:内容总结 项目:
- springboot+springcloud微服务项目全套资料(笔记+源码+代码)
最近好几天没有写博客了,由于时间的太忙了,项目要做.各种资格证要考试,实在没有时间写了,今天正好赶上有闲暇的一刻,应许多的爱好者的要求发一份微服务项目的资料,此资料十分完整,且是最新的.希望各位读者能 ...
- MySQL数据库练习
1.数据准备 以下为db文件,通过Navicat Premium导入数据库 /* 数据导入: Navicat Premium Data Transfer Source Server : localho ...