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 -