首页›Linux操作系统›Linux网络操作系统-第23节-Shell流程控制——循环语句

Linux网络操作系统-第23节-Shell流程控制——循环语句

要建 10 个用户、改 100 个文件权限,敲 100 遍命令不现实——循环就是让机器替你重复。

第二十三节 Shell循环:for遍历列表与while条件循环、批量建用户
第二十三节 Shell循环:for遍历列表与while条件循环、批量建用户

一、for:遍历列表

# 批量创建 user1 ~ user10
for i in {1..10}
do
    useradd user$i 2>/dev/null
    echo "123456" | passwd --stdin user$i &>/dev/null
done
echo "10 个用户创建完毕"

# 遍历文件:处理 /etc 下所有 conf
for f in /etc/*.conf
do
    echo "处理 $f"
done

二、while:条件循环

# 计数器循环
i=1
while [ $i -le 10 ]
do
    echo $i
    i=$((i+1))
done

# 逐行读文件(运维高频用法)
while read line
do
    echo $line | cut -d: -f1    # 截取用户名列
done < /etc/passwd

三、实战:网段存活扫描

for i in {1..254}
do
    ping -c1 -W1 192.168.200.$i &>/dev/null \
        && echo "192.168.200.$i 在线"
done

for 与 while 的选择:遍历已知列表用 for,按条件反复或逐行处理用 while。作业:写脚本扫描 192.168.200.1-254 网段,把在线主机存进 alive.txt。

上一篇
下一篇