工做中确定会有建立用户的需求,少的咱们能够建立,可是用户多了呢?bash
如下陈述解决:服务器
a.如何将输入的用户名和密码引用到脚本ssh
b.如何将用户名和密码显现出来而且打印出来oop
c.如何判断已经存在的用户,无需重复建立密码spa
#!/bin/bash USERADD=/usr/sbin/useradd PASSWD=/usr/bin/passwd CUT=/bin/CUT USER_INFO=/server/scripts/addusers.txt while read LINES do USERNAME=` echo $LINES |cut -f1 -d' '` PASSWORD=` echo $LINES |cut -f2 -d' '` useradd $USERNAME if [ $? -ne 0 ] then echo "$USERNAME is exists" else echo $PASSWORD | passwd --stdin $USERNAME fi done < $USER_INFO
addusers.txt中文件的内容code
[root@cnsz142728 scripts]# cat addusers.txt mumu 123456 kaka 123456 lele 123456
[root@cnsz142728 scripts]# cat useradd_for01.sh #!/bin/bash for LINES in `cat addusers.txt` do echo $LINES let COUNT+=1 done echo echo $0 looped $COUNT times [root@cnsz142728 scripts]# ./useradd_for01.sh mumu 123456 kaka 123456 lele 123456 ./useradd_for01.sh looped 6 times
[root@cnsz142728 scripts]# ./useradd_for01.sh mumu 123456 kaka 123456 lele 123456 ./useradd_for01.sh looped 6 times [root@cnsz142728 scripts]# cat useradd_while01.sh #!/bin/bash COUNT=0 while read LINES do echo $LINES let COUNT+=1 done < addusers.txt echo echo "$0 looped $COUNT times" [root@cnsz142728 scripts]# ./useradd_while01.sh mumu 123456 kaka 123456 lele 123456 ./useradd_while01.sh looped 3 times
[root@cnsz142728 scripts]# cat useradd_while02.sh #!/bin/bash while read LINES do USERNAME=`echo $LINES | cut -f1 -d' ' ` PASSWORD=`echo $LINES | cut -f2 -d ' '` echo -n "USERNAME:$USERNAME PASSWORD:$PASSWORD" echo done < addusers.txt [root@cnsz142728 scripts]# ./useradd_while02.sh USERNAME:mumu PASSWORD:123456 USERNAME:kaka PASSWORD:123456 USERNAME:lele PASSWORD:123456
拓展:结合ssh分发脚本,事先编写好,就可以达到多台服务器操做server