shell编程练习-循环练习

1.使用case实现成绩优良差的判断

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

2.for创建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测试指定网段的主机

网段由用户输入,例如用户输入192.168.2.  则ping 192.168.2.10.......192.168.2.20

UP:  /tmp/host_up.txt         Down: /tmp/host_down.txt

#!/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实现批量主机root密码的修改,成功或失败都必须记录

提示:主机ip存放在一个文件中,ssh:实现公钥认证,执行远程主机中命令,实现公钥认证

#ssh-keygen   在用于管理的主上生成秘钥对      #ssh-copy-id -i  192.168.2.3

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值