shell脚本之指定添加、删除参数来添加、删除多个指定用户

1、指定--useradd、--userdel添加、删除用户参数
2、指定特定的用户,对其进行增加或者删除操作

#!/bin/bash
if [ $#  -lt 1 ];then
        echo "Usage:./adminuser.sh  --useradd | --userdel ARG1,ARG2,ARG3..."
        exit 2
fi
username=`echo "$2" | sed "s/,/ /g"`  #将脚本参数指定的用户名转换为列表,以便进行for循环
if [ $1 == "--useradd" ];then
        for i  in $username;do
                if id $i &> /dev/null;then
                        echo "$i have existed"
                else
                        useradd $i &>/dev/null
                        echo "$i is created successfully"
                        echo "$i" | passwd --stdin $i &>/dev/null
                fi
        done
elif [ $1 == "--userdel" ];then
        for i  in $username;do
                if id $i &>/dev/null;then
                        userdel -r $i &>/dev/null
                        echo "$i is deleted"
                else
                        echo "$i is not exist"
                fi
        done
else
        echo "Unknow Arguments"
fi   

原文地址:https://blog.51cto.com/11342825/2425046

时间: 2024-08-29 21:12:42

shell脚本之指定添加、删除参数来添加、删除多个指定用户的相关文章

shell 脚本实战笔记(9)--linux自动批量添加用户

前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, 对一个基于linux平台的集群服务或软件(比如hadoop集群), 有时也会涉及到这块. 应用场景: 是以centos 6.4作为演示的系统, 其他的系统有类同, 也有差异, 且以实战演练, 一步步的讲述下流程. *) 实战演练 查阅useradd的使用和参数选项useradd --help -d,

Shell脚本传递带有空格的参数

在另一博文<Shell脚本实现DB2数据库表导出到文件>中实现了通过脚本实现将DB2数据库导出到文件,需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格,默认会将空格前的当作第7个参数,以下是传入的参数: MD duanwf 23742 CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/export/T141015001_20141014.avl & fetch first 100000 rows only 最后的“fe

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开

shell脚本:批量修改文件名(文件名中添加字符)

举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [[email protected] goodboy]# ls adddbbdedf.html  baacjaiija.html  bhcfaabcfh.html  dgjdcdfbca.html  efejadfdji.html agdhcdeaje.html  bgffbffjcg.html  cbbiebdafh.html  diadebbhag.html  jcajafgejf.html 脚本1: [

Shell脚本传递带有空格的参数[摘录自网络]

参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 [email protected] 与$#相同,但是使用时加引号,并在引号中返回每个参数. $- 显示Shell使用的当前选项,与set命令功能相同. $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误. MD duanwf 23742 CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/exp

Shell脚本控制tomcat的docker容器的创建,删除,启动,关闭

说明: 多个tomcat容器,同时启动和关闭,每个docker容器的网络管理使用pipework控制.此脚本用来管理多个容器的创建,删除,启动和关闭.使用者可自行修改. #!/bin/bash # chkconfig:2345 11 90 # description: Docker $Name BEGIN=1 END=4 Name=api Host="$Name" Mem=2048m Container_web_DIR="/tomcat/webapps" Conta

shell脚本,通过传入的参数来计算最大值和最小值以及平均值。

[[email protected] zuoye]# cat quansges.sh #!/bin/bash > file [ ! $# -ge 3 ] && echo "please input three number or more number!" && exit 2 || echo $* >file for i in $* do expr $i + 1 &> /dev/null [ $? -ne 0 ] &&a

shell脚本等的操作

1.命令替换:`` 反向单引号,也称重音符.键盘上和~键在一起的那个键呦,千万不要敲成单引号. A. 使用了``后,shell首先替换输出中``括起来的date命令,然后执行整个输出命令. B.命令替换还可以用于在变量中存储命令输出,如下: 变量ctr将包含当前目录中名字以.txt结尾的文件的计数. 2.expr 大部分shell不支持数字变量,所有变量会被作为字符串.如var=25,变量var中包含的是字符2和字符5组成的字符串,而不是数字25. Expr命令用来评估算术表达式,命令的输出发送

Linux阶段总结shell脚本

shell脚本知识储备汇总 语言类型 强类型:定义变量必须指定类型: 参与的运算必须要符合类型要求(字符串不能和数值相加等): 调用未声明变量会报错 弱类型:定义变量无需指定类型: 默认为字符型参与运算时会自动进行类型转换: 变量无需事先定义也可调用(空) 解释器: shell是解释器bash是可用的具体解释器(shell是车这个概念bash是宝马车) bash  sh ksh(需自己安装) tcsh csh等 bash的基本特性:快捷键:Tab补齐命令和路径:history:命令别名:标准输入