shell 作业四

1. 使用case实现成绩优良中差的判断
2. for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
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
4. 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
# ssh-keygen 在用于管理的主上生成密钥对
# ssh-copy-id -i 192.168.2.3


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

[root@centos7 ~]# vim homework6.sh
#!/bin/sh
read -p "please enter your score (0-100):" grade
case "$grade" in
   8[5-9] | 9[0-9] | 100)
     echo "$grade, 优"
      ;;
   7[0-9] | 8[0-4])
     echo "$grade, 中"
      ;;
   6[0-9])
     echo "$grade, 及格"
      ;;
 [0-5][0-9])
     echo "$grade, 差"
  esac

[root@centos7 ~]# sh homework6.sh
please enter your score (0-100):74
74, 中
[root@centos7 ~]# sh homework6.sh
please enter your score (0-100):98
98, 优
[root@centos7 ~]# sh homework6.sh
please enter your score (0-100):56
56, 差
[root@centos7 ~]# sh homework6.sh
please enter your score (0-100):109
[root@centos7 ~]# sh homework6.sh
please enter your score (0-100):12
12, 差


2. for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10

[root@centos7 ~]# vim homework7.sh
#!/bin/sh
read -p "请输入用户的前缀:" aa
read -p "请输入用户的密码:" passwd
for ((i=1;i<=20;i++))
do
    user=$aa$i
        if id $user &>/dev/null
        then
            echo $user 已存在
    else
            useradd $user
        if [ $? -eq 0  ];then
            echo "用户创建成功,准备输入密码"
        else
            echo "用户创建失败"
            exit
        fi
            echo ${passwd} |passwd $user --stdin &>/dev/null
        if [ $? -eq 0 ];then
            echo "密码输入成功"
        else
            echo "密码输入失败"
        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


[root@centos7 scripts]# vim ip.sh
#!/bin/sh
read -p "请输入网段:" ip
for ((i=130;i<=140;i++))
do 
IP="$ip"."$i"
  echo $IP
if ping -c 2 -w 0.3 192.168.126.$IP &>/dev/null
then
 echo "192.168.126.$IP is up" >>/scripts/host_up.txt
else
 echo "192.168.126.$IP is down" >>/scripts/host_down.txt
fi 
done
[root@centos7 scripts]# sh ip.sh
请输入网段:192.168.126
192.168.126.130
192.168.126.131
192.168.126.132
192.168.126.133
192.168.126.134
192.168.126.135
192.168.126.136
192.168.126.137
192.168.126.138
192.168.126.139
192.168.126.140

[root@centos7 scripts]# cat host_up.txt
192.168.126.134 is up
[root@centos7 scripts]# cat host_down.txt
192.168.126.130 is down
192.168.126.131 is down
192.168.126.132 is down
192.168.126.133 is down
192.168.126.135 is down
192.168.126.136 is down
192.168.126.137 is down
192.168.126.138 is down
192.168.126.139 is down
192.168.126.140 is down

 4. 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
# ssh-keygen 在用于管理的主上生成密钥对
# ssh-copy-id -i 192.168.2.3

[root@centos7 day6]#vim homework.sh
#!/bin/sh

ssh-keygen -f /root/.ssh/id_rsa -P '' -q $>/dev/null
for ip in `cat ipfile`
do
  echo $ip
  ssh-copy-copy-id root@$ip
done

for ip in `cat ipfile`
do
  echo $ip
  ssh root@ip "echo redhat | passwd --stdin root" &>/dev/null
  if [ "$?" -eq 0 ]
  then
    echo "host $ip successfully update passwd"
  else
    echo "host $ip error update passwd"
  fi
done

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值