linux 第三章 shell编程及自动化运维-循环

本文详细介绍了Linux Shell编程中的循环控制,包括for循环的语法结构和多个实战案例,如ping测试主机、创建用户及批量修改密码。同时,讲解了while、until循环的特点及用法,并探讨了expect工具在解决SSH交互问题上的应用,提供了通过expect脚本实现自动化登录和公钥推送的示例。
摘要由CSDN通过智能技术生成

linux 第三章 shell编程及自动化运维-循环

一、shell循环 for

1、语法结构

for 变量名 [in 取值列表]

do

循环体

done

  • 示例

需求:自动循环创建10个用户

写法一

#!/bin/bash
for i in {
   1..10}
do
useradd   "user$i"
done

写法二

#!/bin/bash
for i in $(seq 1 10)  #数数seq,优先执行
do
useradd   "user$i"
done

写法三

#!/bin/bash
for i in `seq 1 10`    #优先执行
do
useradd   "user$i"
done

2、案例1:ping测试主机

通过for循环探测全网在线主机

[root@localhost ~]  vim /jiao_ben/ping.sh

#!/bin/bash
>ip.txt    #输入重定向,每次执行把文件当中的内容清空(覆盖),为了防止第二次执行脚本会出现重复的在线ip
for i in {
   1..3}
do
{
   
ip=192.168.18.$i
ping -c1  -W1  $ip  &>   /dev/null   #ping不通时,W只等一秒
if [ $?  -eq  0  ]
then
echo "$ip"  |  tee  -a  ip.txt       #-a追加  
fi
}  &     # { } &  把大括号中的内容丢到后台执行,执行速度非常快 {}与&中间要空格
done

wait
echo  "完成"  #等程序执行完等待一会告诉用户完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@何永斌@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值