쉘 5장 숙제

1. 성적의 좋음, 나쁨 판단을 구현하기 위한 Use Case

#! /bin/bash
read -p "please input your scores:" scores
case $scores in
8[5-9]|9[0-9]|100)
    echo "A"
;;
7[5-9]|8[0-4])
    echo "B"
;;
6[0-9]|7[0-4])
    echo "C"
;;
*)
    echo "D"
esac

2. 20명의 사용자를 생성하려면 사용자 접두사와 초기 비밀번호를 사용자가 입력합니다.

#! /bin/bash
for((i=0;i<20;i++))
do
    if [ $i -lt 10 ];then
        user=test0$i
    else
        user=test$i
    fi
    if ! id -u $user &> /dev/null
    then
        useradd $user
        echo "123456" | passwd --stdin $user &> /dev/null
     else
        echo "$user is exists"
     fi
done

3. for 문을 사용하여 네트워크 세그먼트 호스트에 대한 ping 작업을 실현하고 네트워크 세그먼트는 사용자가 입력합니다.

#!/bin/bash
while true
do
   echo "1:ping"
   echo "2:quit"
   read -p "plese input you chosoe 1~2:" choose
   case $choose in
        1)
        read -p "please input ip address:" host
        ping -c 2 -w 2 $host &> /dev/null
        if [ $? -eq 0 ];then
                echo $host >> /tmp/host_up.txt
        else
                echo $host >> /tmp/host_down.txt
        fi
        ;;
        2)
                exit 0
        ;;
        *)
            echo "input error"
        esac
done

4. 호스트의 루트 비밀번호를 일괄 수정하고 비밀번호 수정의 성공 또는 실패를 기록하려면 for를 사용하십시오.

#!/bin/bash
read -p "请输入新密码:" pass
for i in 'cat /homework2/host.txt'
do
        ssh $i "echo $pass | passwd --stdin root "
done

추천

출처blog.csdn.net/AChain1117/article/details/125900406