Linux的shell脚本:使用for循环语句的一些实际应用

1.使用shell脚本完成20个账户的创建

1.1编写for1的shell脚本

[root@server ~] vim for1.sh



#!/bin/bash



read -p "请输入用户账户名前缀:" prefix

read -p "请输入用户的密码:" passwd



for ((i=1;i<=20;i++))

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

1.2运行for1脚本

[root@server ~] bash for1.sh

1.3查看账户是否创建完成

[root@server ~] cat /etc/passwd | tail -20

2.编写一个脚本使用for循环,并通过ping命令测试网段的主机连通性

2.1编写for2脚本

[root@server ~] vim for2.sh

#!/bin/bash



read -p "" ip



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.1运行for2脚本

[root@server ~] bash for2.sh

2.3查看俩个txt文档内容

[root@server ~] cat /tmp/host_up.txt

[root@server ~] cat /tmp/host_down.txt

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

3.1先打开多台虚拟机

3.2在主机端编写一个存放其他俩台设备ip地址的文档

[root@server ~] vim ip.txt

3.3建立免密sshd登录

[root@server ~] ssh-keygen -t rsa  #一直回车

[root@server ~] ssh-copy-id root@192.168.74.130  #根据提示输一个yes和密码

[root@server ~] ssh-copy-id root@192.168.74.131  #根据提示输一个yes和密码

3.4编写shell脚本

[root@server ~] vim for3.sh

#!/bin/bash



read -p "输入密码:" passwd



for i in `cat ip.txt`

do     

        ssh $i "echo '$passwd' | passwd --stdin root"

done

3.5运行for3脚本并进行免密登录测试

[root@server ~] bash for3.sh

[root@server ~] ssh root@192.168.74.130

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值