linux 批量创建用户

[root@jhoa ~]# cat expect.sh 
while read line
do
user=`echo $line | awk '{print $1}'`
ip=`echo $line | awk '{print $2}'`
passwd=`echo $line | awk '{print $3}'`
expect expect2.exp $user $ip $passwd
done <root.scr

[root@jhoa ~]# cat expect2.exp 
set timeout 15 
 # 设置要登录的主机 IP 地址
# set host=$host
 # 设置以什么名字的用户登录
# set ip=$ip
 # 设置用户名的登录密码
# set passwd=$passwd
 
#把shell的参数传递给expect脚本
set user [lindex $argv 0]
set ip  [lindex $argv 1]
set passwd  [lindex $argv 2]

 #spawn 一个 ssh 登录进程
 spawn  ssh $user@$ip
 # 等待响应,第一次登录往往会提示是否永久保存 RSA 到本机的 know hosts 列表中;等到回答后,在提示输出密码;之后就直接提示输入密码
expect {
    "(yes/no)?" {
        send "yes
"
        expect "assword:"
        send "$passwd
"
    }
        "assword:" {
        send "$passwd
"
    }
 }
expect "#"
send "useradd -m osmon
"
send "passwd osmon
"
expect "password:"
send "xxxx
"
expect "password:"
send "xxxx
"
send "exit
"
expect eof

root 10.xx.xx.xx   xxxx

原文地址:https://www.cnblogs.com/hzcya1995/p/13352172.html