shell第二次

一、编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入,例如:test1

1.编辑脚本

#!/bin/bash

read -p "请输入用户账户名前缀: "  prefix
read -p "请输入中户的密码: "  passwd

for ((i=1;i<=20;i++))     # 循环20次
do      
        user=$prefix$i    # 存储完整账户名
        if id $user  &>  /dev/null    # 检查账户是否存在
        then    
                echo  "$user 已存在"
        else    
                useradd  $user        # 创建账户
                if [ $? -eq 0 ]       # 若账户创建成功则设置密码
                then    
                        echo  "$passwd" | passwd  --stdin  $user  &> /dev/null
                else    
                        echo  "用户创建失败"
                        exit
                fi      
        fi      
done    

 二、编写脚本for2.sh使用for循环,通过ping命令测试网段的主机联通性,IP的前三段由用户输入,ping通的地址写入到/tmp/host_up.txt文件,不能ping通的/tmp/host_down.txt

1.编写脚本

#!/bin/bash

read -p "请输入网段:"  ip

for ((i=125;i<=135;i++))
do      
        IP="$ip"."$i"
        if  ping  -c 2 -w 3 $IP  &> /dev/null
        then    
                echo  "$IP is up"  >>  /tmp/host_up.txt
        else    
                echo  "$IP is down"  >>  /tmp/host_down.txt
        fi      
done    

echo  "up ip: "
cat  /tmp/host_up.txt

echo

echo "down ip :"
cat  /tmp/host_down.txt

2.测试

三、使用for循环实现批量主机root密码修改

1.打开多台主机

2.使用ssh-keygen命令建立密钥对

3.多台主机通过ssh-copy-ip进行免密登录

4.编写脚本for3.sh,通过for循环修改对方root密码

[root@server ~]# vim  ip.txt
192.168.48.131
192.168.48.132

# 建立免密sshd登录
[root@server ~]# ssh-keygen -t rsa   # 回车
[root@server ~]# ssh-copy-id  root@192.168.119.128   # 输入yes及密码
[root@server ~]# ssh-copy-id  root@192.168.48.129    # 输入yes及密码

# 编写脚本

#!/bin/bash
[root@server ~]# vim  for3.sh
#!/bin/bash

read -p  "请输入密码:"  passwd

for  i in  `cat ip.txt`   # 循环读取文本中的IP地址
do      
        ssh $i  "echo '$passwd' | passwd --stdin  root"  # 远程登录修改密码
done    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值