Linux shell脚本作业

    xiaoxiao2021-03-25  135

    1.建立用户

    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

    2.ssh自动连接

    要求直接运行(脚本 用户 密码 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}
    转载请注明原文地址: https://ju.6miu.com/read-6944.html

    最新回复(0)