前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 shell 脚本批量创建用户

使用 shell 脚本批量创建用户

作者头像
小手冰凉
发布2019-09-10 10:39:36
1.4K0
发布2019-09-10 10:39:36
举报
文章被收录于专栏:小手冰凉小手冰凉

使用for语句批量添加与删除特定用户:

使用 shell 脚本批量创建用户
使用 shell 脚本批量创建用户

for语句的操作对象为用户指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间以空格进行分隔。为于do....done之间的命令序列称为循环体。

代码语言:javascript
复制
[root@localhost /]# vim user.txt 
zhangsan
wangwu
zhaoliu
[root@localhost /]# vim useradd.sh 
#!/bin/bash
a=$(cat /sh/user.txt)
for b in $a
do
        useradd  $b
                echo "123456"  |  passwd --stdin  $b &> /dev/null
done
代码语言:javascript
复制
[root@localhost /]# . useradd.sh 
[root@localhost /]# tail -5 /etc/passwd
.......     省略部分
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
wangwu:x:1002:1002::/home/wangwu:/bin/bash
zhaoliu:x:1003:1003::/home/zhaoliu:/bin/bash

删除刚刚添加的用户:

代码语言:javascript
复制
[root@localhost /]# vim sh/userdel.sh
#!/bin/bash
a=$(cat /sh/user.txt)
for b in $a
do
        userdel -r $b &> /dev/null
done
[root@localhost sh]# . userdel.sh 
[root@localhost sh]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lisi:x:1000:1000:lisi:/home/lisi:/bin/bash

使用while语句批量添加和删除用户名有规律的账号:

使用 shell 脚本批量创建用户
使用 shell 脚本批量创建用户

使用while语句是,有两个特殊的条件测试操作,即true(真)和false(假)。使用true作为条件时,表示条件永远成立,循环体内的命令将无限执行下去,除非强制终止脚本,或通过exit语句退出脚本;反之,若使用false作为条件,则循环体将不会被执行,这两个特殊条件也可以用在if语句的条件测试中。

代码语言:javascript
复制
[root@localhost sh]# vim while.sh
#!/bin/bash
a="user"
i=1
while [ $i -le 5 ]
do
        useradd $a$i
        echo "123456" | passwd --stdin $a$i &> /dev/null
        let i++
done
代码语言:javascript
复制
[root@localhost sh]# ./while.sh 
[root@localhost sh]# tail -5 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
user3:x:1003:1003::/home/user3:/bin/bash
user4:x:1004:1004::/home/user4:/bin/bash
user5:x:1005:1005::/home/user5:/bin/bash

删除

代码语言:javascript
复制
[root@localhost sh]# vim whiledel.sh
#!/bin/bash
a="user"
i=1
while [ $i -le 10 ]
do
        userdel -r $a$i &> /dev/null
        let i++
done
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档