1)要求读取/mnt/username用户文件和/mnt/password密码文件,并判断文件是否存在,若都存在则判断其行数是否一致. 2)要建立的用户是否存在,若存在则显示存在不再建立,若不存在则建立 满足以上条件建立用户
代码如下
#!/bin/bash USERFILE="/mnt/username" PASSWDFILE="/mnt/password" USERNUM=`wc -l /mnt/username |cut -d " " -f 1` PASSWDNUM=`wc -l /mnt/password |cut -d " " -f 1` if [ -f $USERFILE ] then if [ -f $PASSWDFILE ] then if [ ${USERNUM} -eq ${PASSWDNUM} ] then for N in $(seq 1 $USERNUM ) do USERNAME=`sed -n ${N}p /mnt/username` PASSWORD=`sed -n ${N}p /mnt/password` id $USERNAME >&/dev/null if [ $? -ne 0 ] then useradd $USERNAME >&/dev/null echo $PASSWORD | passwd --stdin $USERNAME >&/dev/null echo "$USERNAME 创建成功" else echo "$USERNAME 已经存在" fi done else echo 用户名与密码个数不匹配 fi else echo 密码文件不存在 fi else echo 用户文件不存在 fi要求直接运行(脚本 用户 密码 IP)连接ssh
代码如下 ssh
#!/usr/bin/expect set USER [ lindex $argv 0 ] set PASSWD [ lindex $argv 1 ] set IP [ lindex $argv 2 ] spawn /mnt/ssh expect { "please user" { send "$USER\r"; exp_continue } "yes" { send "yes\r"; exp_continue } "please IP" { send "$IP\r"; exp_continue } "password" { send "$PASSWD\r"; exp_continue } expect eof }answer.exp
#!/bin/bash read -p "please user" -s USER read -p "please IP" -s IP ssh ${USER}@${IP}