使用for語句批量建立使用者

2021-10-09 17:44:49 字數 2853 閱讀 4435

1、使用for語句批量新增與刪除特定使用者:

for語句的操作物件為使用者指定名稱的變數,並通過in關鍵字為該變數預先設定了乙個取值列表,多個取值之間以空格進行分隔。為於do....done之間的命令序列稱為迴圈體。

①新增使用者:

[root@localhost ~]# vim list.txt          #準備乙個使用者名稱列表檔案

zhangsan

lisi

wangwu

zhaoliu

#儲存退出。

[root@localhost ~]# vim useradd.sh

#!/bin/bash

a=$(cat /root/list.txt)

for b in $a

do useradd $

echo "123456" | passwd --stdin $ &> /dev/null

done

#儲存退出。

[root@localhost ~]# . useradd.sh

[root@localhost ~]# tail -5 /etc/passwd

benet:x:1000:1000:benet:/home/benet:/bin/bash

zhangsan:x:1001:1001::/home/zhangsan:/bin/bash

lisi:x:1002:1002::/home/lisi:/bin/bash

wangwu:x:1003:1003::/home/wangwu:/bin/bash

zhaoliu:x:1004:1004::/home/zhaoliu:/bin/bash

②刪除剛剛新增的使用者:

[root@localhost ~]# vim userdel.sh

#!/bin/bash

a=$(cat /root/list.txt)

for b in $a

do userdel -r $ &> /dev/null

done

#儲存退出

[root@localhost ~]# . userdel.sh #執行指令碼

[root@localhost ~]# tail -1 /etc/passwd

benet:x:1000:1000:benet:/home/benet:/bin/bash

2、使用while語句批量新增和刪除使用者名稱有規律的賬號:

使用while語句是,有兩個特殊的條件測試操作,即true(真)和false(假)。使用true作為條件時,表示條件永遠成立,迴圈體內的命令將無限執行下去,除非強制終止指令碼,或通過exit語句退出指令碼;反之,若使用false作為條件,則迴圈體將不會被執行,這兩個特殊條件也可以用在if語句的條件測試中。①新增:

[root@localhost ~]# vim piliang.sh

#!/bin/bash

name="user"

i=1while [ $i -le 10 ]

do useradd $$i

echo "123456" | passwd --stdin $$i &> /dev/null

let i++

done

儲存退出

[root@localhost ~]# . piliang.sh #執行指令碼

[root@localhost ~]# tail /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

user6:x:1006:1006::/home/user6:/bin/bash

user7:x:1007:1007::/home/user7:/bin/bash

user8:x:1008:1008::/home/user8:/bin/bash

user9:x:1009:1009::/home/user9:/bin/bash

user10:x:1010:1010::/home/user10:/bin/bash

②刪除剛才建立的使用者:

[root@localhost ~]# vim pish.sh

...........

#!/bin/bash

name="user"

i=1while [ $i -le 10 ]

do userdel -r $$i &> /dev/null

let i++

done

#儲存退出

[root@localhost ~]# . pish.sh

[root@localhost ~]# tail -2 /etc/passwd

tcpdump:x:72:72::/:/sbin/nologin

benet:x:1000:1000:benet:/home/benet:/bin/bash

使用shell指令碼批量建立使用者

1 使用for語句批量新增與刪除特定使用者 for語句的操作物件為使用者指定名稱的變數,並通過in關鍵字為該變數預先設定了乙個取值列表,多個取值之間以空格進行分隔。為於do done之間的命令序列稱為迴圈體。新增使用者 root localhost vim list.txt 準備乙個使用者名稱列表檔...

Linux shell 批量建立使用者

可以使用newusers命令來批量完成,該命令需要先行建立新使用者列表,該列表需要和 etc passwd檔案格式相同,格式如下 test1 x 501 501 test1 home test1 bin bash 新使用者列表建立完畢之後,使用newusers 列表檔案.txt 的方式來批量建立 n...

c 批量建立使用者

最近要給客戶做培訓需要配置乙個測試環境,因為系統使用域使用者驗證,建立大量的域使用者工作量比較大,而且測試環境的使用者名稱可以根據使用者單位和角色建立乙個使用者名稱模式,例如 角色.單位 於是用c 批量建立使用者,發現這樣兩個比較棘手的問題 1.如何設定使用者名稱初始密碼 2.如何設定 使用者下次登...