当前位置: 首页 > news >正文

江苏住房和城乡建设局网站企业公司网站建设方案

江苏住房和城乡建设局网站,企业公司网站建设方案,网络做网站如何盈利,wordpress视频解析在 Shell 脚本编程中,循环结构是实现重复操作的核心工具。无论是批量处理文件、检查多台服务器状态,还是批量创建用户,都离不开循环的加持。本文将详细介绍 Shell 中的三种循环结构 ——for、while和until,帮助初学者快速掌握其用…

在 Shell 脚本编程中,循环结构是实现重复操作的核心工具。无论是批量处理文件、检查多台服务器状态,还是批量创建用户,都离不开循环的加持。本文将详细介绍 Shell 中的三种循环结构 ——forwhileuntil,帮助初学者快速掌握其用法与实战技巧。

一、for 循环:遍历列表的利器

for循环适用于已知取值列表的场景,尤其适合处理无规律但来源固定的对象(如文件中的列表、指定的多个值)。

1️⃣语法结构

bash

for 变量名 in 取值列表
do命令序列  # 循环体,需引用变量完成操作
done

  • 变量名:自定义名称,用于接收取值列表中的值;
  • 取值列表:多个值用空格分隔(可直接写在脚本中,或从文件读取);
  • do...done:包裹循环体,标志循环的开始和结束。

2️⃣执行流程

  1. 将取值列表中的第一个值赋给变量;
  2. 执行循环体中的命令序列;
  3. 依次将列表中的后续值赋给变量,重复执行循环体;
  4. 当列表中的所有值都处理完毕,循环结束。

3️⃣实战实例

<1>实例 1:简单循环输出

循环 5 次,依次输出 1 到 5:

bash

#!/bin/bash
for i in {1..5}  # 取值列表为1到5
doecho $i  # 输出变量i的值
done

执行结果:

plaintext

1
2
3
4
5

说明:{1..5}是 Shell 的扩展语法,代表 1、2、3、4、5 的列表。

<2>实例 2:检查服务器连通性

从文件中读取 IP 地址列表,批量检查主机是否在线:

  • 准备 IP 列表文件ipadds.txt

txt

192.168.141.129
192.168.141.130
127.0.0.1

  • 编写脚本chkhosts.sh

bash

#!/bin/bash
HLIST=$(cat /root/ipadds.txt)  # 从文件读取IP列表
for IP in $HLIST  # 遍历每个IP
doping -c 3 -W 2 $IP > /dev/null  # ping 3次,超时2秒,结果输出到空设备(不显示)if [ $? -eq 0 ]  # $?是上一条命令的返回值(0为成功,非0为失败)thenecho "Host $IP is up."  # ping成功,主机在线elseecho "Host $IP is down."  # ping失败,主机离线fi
done

  • 执行结果:

plaintext

Host 192.168.141.129 is down.
Host 192.168.141.130 is down.
Host 127.0.0.1 is up.

二、while 循环:按条件重复执行

while循环适用于需要根据条件控制循环次数的场景,比如按数字顺序操作(如编号 1 到 N 的对象)、满足特定条件时重复执行(如直到用户输入正确为止)。

1️⃣语法结构

bash

while 条件测试操作
do命令序列  # 循环体
done

  • 条件测试操作:可使用比较运算符(如-le小于等于、-gt大于)或命令返回值;
  • 当条件为真时,执行循环体;条件为假时,循环结束。

2️⃣执行流程

  1. 判断条件测试操作的结果;
  2. 若条件为真,执行循环体中的命令序列;
  3. 循环体执行完毕后,再次判断条件;
  4. 重复步骤 2-3,直到条件为假,循环结束。

3️⃣实战实例

<1>实例 1:循环输出 1 到 5

bash

#!/bin/bash
i=1  # 初始化变量i为1
while [ $i -le 5 ]  # 条件:i小于等于5
doecho $i  # 输出i的值let i++  # i自增1(等价于i=$((i+1)))
done

执行结果:

plaintext

1
2
3
4
5
<2>实例 2:批量添加规律编号用户

添加 20 个用户(stu1stu20),并设置初始密码:

bash

#!/bin/bash
PREFIX="stu"  # 用户名前缀
i=1  # 起始编号
while [ $i -le 20 ]  # 循环20次(i从1到20)
douseradd ${PREFIX}$i  # 创建用户(如stu1、stu2)echo "123456" | passwd --stdin ${PREFIX}$i > /dev/null  # 设置密码为123456(不显示输出)let i++  # 编号自增
done

验证结果:
执行grep "stu" /etc/passwd可看到新增的用户列表。

<3>扩展:批量删除用户

只需将循环体中的useradd改为userdel -r-r删除用户家目录):

bash

#!/bin/bash
PREFIX="stu"
i=1
while [ $i -le 20 ]
douserdel -r ${PREFIX}$i  # 删除用户let i++
done

三、until 循环:条件为假时执行

until循环与while功能类似,但判断逻辑相反:条件为假时执行循环体,条件为真时结束循环。适合 “直到满足某个条件才停止” 的场景。

1️⃣语法结构

bash

until 条件测试操作
do命令序列  # 循环体
done

2️⃣执行流程

  1. 判断条件测试操作的结果;
  2. 若条件为假,执行循环体中的命令序列;
  3. 循环体执行完毕后,再次判断条件;
  4. 重复步骤 2-3,直到条件为真,循环结束。

3️⃣实战实例:计算 1 到 50 的和

bash

#!/bin/bash
i=0; s=0  # 初始化:i为计数器(从0开始),s为总和(初始0)
until [ $i -eq 50 ]  # 条件:i等于50时结束循环
dolet "i=$i+1"  # i自增1(从1到50)let "s=$s+$i"  # 累加i到s中
done
echo "sum(1..50)=$s"  # 输出结果

执行结果:

plaintext

sum(1..50)=1275

计算逻辑:i 从 1 到 50 依次累加,最终和为 1+2+...+50=1275。

四、三种循环的适用场景总结

  • for 循环:适合处理已知列表(如文件中的 IP、固定值集合);
  • while 循环:适合按条件控制次数(如编号 1 到 N、满足<=/>=条件);
  • until 循环:适合 “直到某个条件成立才停止”(如等待进程结束、计数器达到目标值)。

http://www.dtcms.com/a/547680.html

相关文章:

  • 微信小程序开发注册宁波优化seo是什么
  • 微信建设网站哪家好泰安做网站建设的公司
  • 做网站 用什么空间网站在百度搜索不到
  • 微信做自己网站免费网站开发
  • 买了虚拟主机怎么做网站代码给WordPress添加
  • 苏州网站开发网站开发费用德国室内设计
  • 小规模开普票网站建设几个点哈市建设网站
  • 快速建设网站外链asp网站连接access数据库
  • wordpress有哪些网站东莞长安网站建设
  • 做电子商务网站 语言阳江市招聘最新招聘
  • 网站怎么做国际化公司只有一个设计师
  • 安徽美丽乡村建设网站万创网做的网站怎么样
  • 做的好的响应式网站中国软件邮箱登录入口
  • 两个男性做网站工装装修公司排名
  • 松江信息科技有限公司网站中国交通建设集团有限公司招标网
  • 深圳营销型网站联系方式wordpress author.php
  • 下载免费网站模板手机网站的页面大小
  • 制作精美网站建设服务周到网上商城平台
  • 网站建设与营销服务wordpress评论加图片
  • 麻辣烫配方教授网站怎么做临沂做网站选盛誉
  • 企业seo平台搜索引擎优化总结感悟
  • 云南网站建设及优化网页制作与网站建设宝典
  • 使用什么工具什么步骤完成网站的设计与建设咸阳网站建设电话
  • 乐站_网站建设_自助建站制作网站的钱
  • 国外设计类网站英文二手汽车网站建设
  • 知行网站建设网站建设摊销时间是多久
  • 下列关于网站开发中网页额中国国建设监理协会网站
  • 哪个网站用div做的好大公司的网站都找谁设计
  • 哪些外国购物网站可以做涉密项目单位网站建设流程
  • 温州网站改版公司哪家好建设局电话965559