Linux shell编程自动化运维 循环 解析

本文详细介绍了Linux Shell中的循环结构,包括for循环和while/until循环的语法及使用示例,如自动创建用户、网络测试脚本、批量修改主机密码等。此外,还提到了expect工具,用于解决人机交互问题,实现自动化脚本。
摘要由CSDN通过智能技术生成

for循环

for  语法结构
#! /bin/bash
for  变量名  [in 取值列表]
do
循环体
done

示例↓↓↓↓   自动创建十个用户

for  i   in {1..10}
do
useradd   "user$i"
done

变量值用一下方式也可以
for   i   in $i(seq  1 10)
for   i   in  `seq 10`

while // until循环

特点 循环次数不一定是固定的
一,while循环解析
while语句结构(死循环,逐行处理文件)

#! /bin/bash
while    条件测试
do
         循环体
done

☝☝当条件测试成立 (条件测试为真,执行循环体)

示例↓↓↓↓ 每秒显示一个数字,一次递增+1

#! /bin/bash
while
do
let  i++
sleep  1        //停顿一秒
echo   $i
done

示例1:ping测试主机
1 编写常规的网络测试脚本

 #! /bin/bash
 #ping
 ip = 192.168.100.10         
ping -c1  -W1  $ip  &>  /dev/null
 if  [ $?  -eq 0 ] ;  then
 echo  "$ip"  |   tee -a  想要写入的文件名
 fi

2 使用添加循环语句,for i in {3…255}

#! /bin/bash
#ping
for   i  in  {3..255}
ip = 192.168.100.$i
ping  -c1  -W1 $ip &> /dev/null
if [ $? -eq 0 ] ;then
echo "$ip" | tee -a 想要写入的文件名
fi
done

3 优化脚本(后台执行,清空脚本,循环完成提示,wait间隔)

#! /bin/bash 
#ping 
  >输入的文件名       //清空记录文本
for i in {3..255}
do
{
ip = 192.168.100.$i
ping -c1 -
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值