shell批量删除用户(提前写好要删除的用户的用户名放在一个文件里)

#!/bin/bash
if [ $# -eq 0 ];then #$#表示脚本参数 -eq 比较(与0比较)
echo "Usage:/data/user.sh <userfile>" #是0则执行这条命令
elif [ -f $1 ];then #不是0则执行这条命令
for username in $(cat $1) #$1第一个参数,将cat到的$1参数赋值到username
do #然后做下面的动作
userdel -r $username &> /dev/null # 删除用户所有输出都不显示
done #这个循环停止
else #若以上两个判定都不是则执行写面的动作
echo ‘Iput file not found‘ #在屏幕上输出
fi #if循环结束

原文地址:https://blog.51cto.com/13626938/2424141

时间: 2024-11-05 18:42:21

shell批量删除用户(提前写好要删除的用户的用户名放在一个文件里)的相关文章

shell 练习题02 一个文件里将内容三行显示为一行

要求: 一个文件里将内容三行显示为一行 思路:是将第二行的内容,第三行的内容依次附加到第一行中,这样三行的内容就能变为一行,如果不够三行自动融为一行,具体如下 [[email protected] shell]# cat /tmp/chy.txt  1 2 3 4 g 6 8 (查看chy.txt的内容) [[email protected] shell]# vim yihang.sh #!/bin/bash #this is san hang bian wei yi hang sed 'N;N

使用excel批量合并子文件内容到一个文件内

说到excel大家应该都不陌生,也都对它强大的功能有所耳闻,自己虽然已经用了好多年,但也只能算入门水平,比如今天遇到的一个实际情况就完全不知道怎么处理,上网查阅资料之后才解决,这里记录一下. 实际情况就是:我有很多个小的excel文件,每个文件只有两行内容,且这些文件的列目录都是一样的,也就是说我需要把这几十行内容整理到一张表上. 方法一:直接复制粘贴 几十个文件倒是不算多,但这也不是一个通用的解决方法啊,如果文件再多岂不要累死. 方法二:用VBA宏解决: 求助百度之后果然找到了类似问题的解决方

写一个Sublime Text 2插件(CSS文件里px单位替换成rem单位)

三年前我就知道了sublime text 不过那时候用DW还是很爽的样子,后来有天想为难自己了,于是用了两年的vim和五笔,最近又觉得这么好编辑器也可以试试,改变一下自己,用一下的,不过由于工作的原因,没有坚持下来,有时候顺手似乎比先进更重要一些. 最近工作都是做一些移动端的页面,而微信的长按出现二维码有个bug,在ios里缩放的页面长按是不会出现"识别二维码"的.所以需要转换一下,不要让页面缩放,要自适应,这个时候就用rem单位来做的会比较好一些,而我的同事之前开发了一个px to

Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,

Linux系统的rm命令太危险,一不小心就会删除系统文件.写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时都要做一个备份,然后再删除. 假设有一个大的分区/data/,每次删除文件或者目录前,都要在/data/下面创建一个隐藏目录,以日期/时间命名,比如/data/.201802021054,然后把所有删除的文件同步到该目录下面,可以使用rsync -R把文件路径一同同步 答案: #!/bin/bash d=`date +%Y%m%d%H%M` read -p "Are y

使用shell批量添加用户

批量创建10个系统账号(oldboy01-oldboy10),并设置密码(密码为随机数,要求是字符和数字的混合) 创建随机密码: #echo $RANDOM | cut -c 3-9 并将用户名和密码写入到一个文件,方便管理 #!/bin/bash tmpfile=/tmp/password.txt for i in `seq 10` do   useradd oldboy"$i"   a=`echo $RANDOM | md5sum | cut -c 3-9`   echo &quo

Mac / Linux Shell 批量重命名的方法总览

Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 .jpe 文件后缀修改为 .jpg: rename 's/\.jpe$/\.jpg/' *.jpe 3.把所有文件的文件名改为小写: rename 'y/A-Z/a-z/' * 4.将 abcd.jpg 重命名为 abcd_efg.jpg: for var in *.jpg; do mv "$var

烂泥:学习tomcat之通过shell批量管理多个tomcat

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 公司的业务是使用tomcat做web容器,为了更有效的利用服务器的性能,我们一般部署多个tomcat做业务的负载均衡. 一.业务需求 目前一台服务器上,部署了4个tomcat,也就相当于4个节点.平时在维护业务时,需要我们一个一个tomcat实例进行单独的维护,感觉很不方便,所以就有了这篇文章. 但是为了更方便的管理这4个tomcat,我这边做了两方面的工作,一是把所有的tomcat工

学习linux-基础四(用户创建、修改、删除)

用户的创建.修改.删除 一.用户创建 useradd usermod userdel useradd:创建用户:create a new user or update default new user information useradd [options]- LOGIN -u,–uid:指定新用户的UID -o,配合-u使用,不检测用户UID的唯一性(可创建2个相同UID的帐号) -g,–gid:指定新建用户的GID -G,–group:指定新建用户的附加组,若指定多个组可用,分割 -d,–

sudo 详解、用户以及组的创建删除。

一.用户名文件. root:x:0:0:root:/root:/bin/bash 共7部分. 1,用户名. 2,存放的是该帐号的口令,(密码)现存于/etc/shadpw/,所以现在用X表示. 3,代表用户标示号, uid 4,组 标示号,gid 5,注释说明.没有实际意义 6,用户的加目录. 7,用户的shell. 二.密码文件 user1:$6$X/dAMmCG$uLvF2l/Df/TgldEWVc7lL93bVxjKDpLStDWYcMD0DdN7a/VUwdl1PcEhYBOjTwOQd