SHELL编程练习——循环

目录

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

2. for创建20个用户

3. for ping测试指网段的主机

4.使用for实现批量主机root密码的修改

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

#!/bin/bash
#########################
#File name:1.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-03-30 19:58:41
#Description:
#########################


read -p "请输入分数:" a
case "$a" in 
  8[5-9]|9[0-9]|100)
    echo "优"
  ;;
  7[0-9]|8[0-4])
    echo "良"
  ;;
  6[0-9])

    echo "中"
  ;;
  *)
    echo "差"
  ;;
esac

2. for创建20个用户

 用户前缀由用户输入

用户初始密码由用户输入

例如: test01, test10

#!/bin/bash
#########################
#File name:2.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-03-30 20:18:22
#Description:
#########################

for ((i=1;i<=20;i++))
do
  read -p "请输入用户名前缀:" name
  read -p "请输入用户初始密码:  "  a
  useradd $name"0"$i
  passwd $name"0"$i
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
#########################
#File name:3.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-03-30 20:18:47
#Description:
#########################

read -p "请输入IP地址的前三段:" ip
for ((i=10;i<=20;i++))
do
  if ping -c 1 $ip.$i &> /dev/null
    then
      echo "$ip.$i Up"
      ping -c 1 $ip.$i >> /tmp/host_up.txt
  else
      echo "$ip.$i Down"
      ping -c 1 $ip.$i >> /tmp/host_down.txt
  fi
done

4.使用for实现批量主机root密码的修改

成功或失败都必须记录
提示:主机工P存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令实现公钥认证
# ssh-keygen
在用于管理的主上生成密钥对
# ssh-copy-id -i 192.168. 2.3

#!/bin/bash
#########################
#File name:passwd.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-03-31 00:18:32
#Description:
#########################

read -p "请输入密码:" pd
for i in `cat ip.txt`
do 
{ ping -c1 -W1 $i &> /dev/null
  if [ $? ]
  then
    ssh $i "echo $pd | passwd --stdin root    "
    if [ $? ]
      then
	echo "$i" >> ok.txt
    else
	echo "$i" >> fail.txt
    fi
  else
    echo "$i" >> fail.txt
  fi
}&
done

在终端输入的【理解】: 

如何不登陆对130进行操作

  ssh@192.156.130 "touch /root/testtest.txt"

   尝试更改130密码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值