Shell脚本详解:从理论到实践(三)
Shell脚本详解循环1.for循环用途遍历一个列表如文件列表、数字序列、数组元素等并执行重复操作。示例1遍历文件列表#!/bin/bash # 遍历当前目录下所有.txt文件 for file in *.txt; do echo 处理文件: $file # 这里可以添加具体操作比如统计行数 wc -l $file done讲解for file in *.txt将当前目录下所有.txt文件赋值给变量file。do ... done循环体对每个文件执行操作。echo和wc -l打印文件名并统计行数。示例2遍历数字序列#!/bin/bash # 生成数字序列1到5 for i in {1..5}; do echo 当前数字: $i done讲解{1..5}生成一个从1到5的整数序列。每次循环将当前数字赋值给i并打印。示例3C语言风格遍历#!/bin/bash # 类C语法初始化i1循环条件i5步长i for ((i1; i5; i)); do echo 计数: $i done讲解((i1; i5; i))初始化、条件判断和步长更新。适用于需要精确控制循环次数的场景。2.while循环用途当条件为真时重复执行代码块。示例读取文件内容#!/bin/bash # 逐行读取文件 while IFS read -r line; do echo 行内容: $line done input.txt讲解while read -r line每次读取一行到变量line。IFS防止行首尾空格被截断。 input.txt输入重定向从文件读取数据。示例条件计数#!/bin/bash count0 while [ $count -lt 5 ]; do echo 计数: $count ((count)) done讲解[ $count -lt 5 ]条件判断-lt表示小于。((count))自增操作避免死循环。3.until循环用途当条件为假时重复执行与while相反。示例等待服务启动#!/bin/bash statusdown until [ $status up ]; do echo 等待服务启动... sleep 1 status$(curl -s http://localhost/status) done echo 服务已就绪讲解until [ $status up ]条件为假时持续循环。curl检查服务状态直到返回up才退出循环。4. 循环控制语句break立即终止当前循环。for i in {1..10}; do if [ $i -eq 5 ]; then break # 当i5时跳出循环 fi echo $i donecontinue跳过当前迭代进入下一次。for i in {1..5}; do if [ $i -eq 3 ]; then continue # 跳过i3的迭代 fi echo $i done总结循环类型适用场景特点for遍历列表、数字序列明确循环次数while条件为真时执行可能无限循环需谨慎until条件为假时执行与while互补通过灵活组合这些循环结构可以高效处理自动化任务如日志分析、批量文件操作等。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2516943.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!