shell學習-批量刪除用戶

需求:

    使用for循環批量刪除用戶

[root@mapeng-edu ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
..
stu01:x:1001:1001::/home/stu01:/bin/bash
stu02:x:1002:1002::/home/stu02:/bin/bash
stu03:x:1003:1003::/home/stu03:/bin/bash
stu04:x:1004:1004::/home/stu04:/bin/bash
stu05:x:1005:1005::/home/stu05:/bin/bash
stu06:x:1006:1006::/home/stu06:/bin/bash
stu07:x:1007:1007::/home/stu07:/bin/bash
stu08:x:1008:1008::/home/stu08:/bin/bash
stu09:x:1009:1009::/home/stu09:/bin/bash
stu10:x:1010:1010::/home/stu10:/bin/bash

批量刪除其中的stu01-stu10


腳本內容:

   

 #!/bin/bash
    #mp
        for i in `/usr/bin/echo stu{01..10}`
            do
            userdel -r $i
    done

執行過程:

[root@mapeng-edu ~]# sh -x userdel.sh 
++ /usr/bin/echo stu01 stu02 stu03 stu04 stu05 stu06 stu07 stu08 stu09 stu10
+ for i in '`/usr/bin/echo stu{01..10}`'
+ userdel -r stu01
userdel: user 'stu01' does not exist
+ for i in '`/usr/bin/echo stu{01..10}`'
+ userdel -r stu02
userdel: user 'stu02' does not exist

至此使用for循環刪除指定用戶完畢


補充:

    不使用for、批量刪除用戶

1)創建環境

[root@mapeng-edu ~]# useradd ctu01
[root@mapeng-edu ~]# useradd ctu02
[root@mapeng-edu ~]# useradd ctu03
[root@mapeng-edu ~]# tail /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:996::/var/lib/chrony:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
www:x:1000:50::/yjdata/www/www:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
peng:x:520:1000:linuxedu:/home/peng:/bin/bash
ctu01:x:1001:1001::/home/ctu01:/bin/bash
ctu02:x:1002:1002::/home/ctu02:/bin/bash
ctu03:x:1003:1003::/home/ctu03:/bin/bash
[root@mapeng-edu ~]#

2)編寫腳本-----拼接命令

userdel -r “用戶名”

拼接命令過程

[root@mapeng-edu ~]# echo ctu{01..03}
ctu01 ctu02 ctu03
[root@mapeng-edu ~]# echo ctu{01..03}|xargs -n 1
ctu01
ctu02
ctu03
[root@mapeng-edu ~]# echo ctu{01..03}|xargs -n 1|sed 's#.*#userdel -r &#g'
userdel -r ctu01
userdel -r ctu02
userdel -r ctu03

3)腳本文件內容

[root@mapeng-edu ~]# cat userdel_v2.sh 
#!/bin/bash
#mp
echo ctu{01..03}|xargs -n 1|sed 's#.*#userdel -r &#g'|bash
[root@mapeng-edu ~]#

4)   執行結果

[root@mapeng-edu ~]# sh userdel_v2.sh 
[root@mapeng-edu ~]#


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章