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

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互补通过灵活组合这些循环结构可以高效处理自动化任务如日志分析、批量文件操作等。

相关文章:

Shell脚本详解:从理论到实践(三)

Shell脚本详解:循环1. for 循环用途:遍历一个列表(如文件列表、数字序列、数组元素等)并执行重复操作。示例1:遍历文件列表#!/bin/bash# 遍历当前目录下所有.txt文件 for file in *.txt; doecho "处理文件: $file…...

告别网盘限速:2025年直链下载助手全面解析与实战指南

告别网盘限速:2025年直链下载助手全面解析与实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

MedGemma-XGPU优化:KV Cache量化与FlashAttention-2集成实践

MedGemma-XGPU优化:KV Cache量化与FlashAttention-2集成实践 1. 为什么MedGemma-X需要GPU推理加速? 在放射科实际工作流中,一张胸部X光片的AI辅助分析不能等——医生需要秒级响应,影像科每天处理数百例检查,延迟每增…...

嵌入式开发入门:C语言与单片机

嵌入式开发入门:C语言与单片机 在智能硬件飞速发展的今天,嵌入式系统已渗透到生活的方方面面,从智能家居到工业控制,处处可见其身影。而C语言与单片机作为嵌入式开发的核心工具,成为工程师入门的必经之路。本文将带你…...

Win11Debloat终极指南:三分钟让你的Windows系统飞起来

Win11Debloat终极指南:三分钟让你的Windows系统飞起来 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cu…...

微博相册批量下载终极指南:3步快速保存高清图片

微博相册批量下载终极指南:3步快速保存高清图片 【免费下载链接】Sina-Weibo-Album-Downloader Multithreading download all HD photos / pictures from someones Sina Weibo album. 项目地址: https://gitcode.com/gh_mirrors/si/Sina-Weibo-Album-Downloader …...

用AI重构代码,到底能省多少时间?先看清这5个代价

先说结论AI重构能快速处理命名、注释等基础问题,但复杂模块拆分仍需人工介入提示词设计需要投入时间,否则可能生成不可执行或偏离业务逻辑的代码不同编程语言和框架的适配成本差异很大,Java Spring项目比Python脚本更考验提示词精度从实际开发…...

汇川AM系列后台安全管理的用户权限分级与实战配置指南

1. 汇川AM系列权限管理核心逻辑解析 第一次接触汇川AM系列PLC的权限系统时,我被它精细化的分组机制惊艳到了。与常见的单一密码保护不同,这套系统采用了类似企业域控的"用户-组-对象"三级权限模型。在实际项目中,我遇到过因为权限设…...

LaTeX技巧:优雅隐藏subfloat编号的三种实用方案

1. 为什么需要隐藏subfloat编号? 在学术论文写作中,尤其是使用IEEE等特定模板时,我们经常会遇到子图(subfloat)编号显示异常的问题。这个问题看似简单,却困扰着不少LaTeX使用者。我第一次遇到这个问题是在准备一篇会议论文时&…...

将开源大语言模型微调至Claude Mythos级别能力:一份关于其已知信息的研究者式推测的技术路线图与实践手册 (一)

一、引言:一场严肃的工程挑战在人工智能安全研究领域,Anthropic的Mythos模型代表着当前最顶尖的自主漏洞发掘能力。它能够独立识别存在了27年之久的内存错误,将四个独立的浏览器漏洞链式组合为JIT堆喷射攻击,并自主编写FreeBSD NF…...

告别复杂配置!Llama-3.2V-11B-cot镜像一键部署,双卡4090轻松跑通

告别复杂配置!Llama-3.2V-11B-cot镜像一键部署,双卡4090轻松跑通 1. 为什么选择这个镜像? 如果你曾经尝试部署过大型视觉语言模型,一定经历过这样的痛苦:下载几十GB的模型文件后,满怀期待地运行代码&…...

PM/UI/UX 全栈专家之路 01:产品经理从入门到专家 | 全流程能力落地与跨角色协作

产品经理没有通用的标准答案,但有可复制的成长路径。全球顶尖科技公司的实践证明:用数据击穿迷雾,用体验触摸本质,把这两种看似矛盾的能力融合起来,你就能成为任何公司都抢着要的顶级PM。 这不是一份教你怎么写PRD的工…...

终极指南:5分钟搞定Windows风扇控制,让电脑散热静如深海

终极指南:5分钟搞定Windows风扇控制,让电脑散热静如深海 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHu…...

如何通过Performance Fish让你的环世界运行速度提升400%:终极性能优化指南

如何通过Performance Fish让你的环世界运行速度提升400%:终极性能优化指南 【免费下载链接】Performance-Fish Performance Mod for RimWorld 项目地址: https://gitcode.com/gh_mirrors/pe/Performance-Fish 你是否曾经在环世界中建造了一个庞大的殖民地&am…...

Dism++终极指南:16国语言支持的免费Windows系统优化神器

Dism终极指南:16国语言支持的免费Windows系统优化神器 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism是一款功能强大的Windows系统维护工具&am…...

终极指南:用scrapy-pinduoduo快速获取拼多多电商数据

终极指南:用scrapy-pinduoduo快速获取拼多多电商数据 【免费下载链接】scrapy-pinduoduo 拼多多爬虫,抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 在电商数据驱动的时代,获取拼多多平…...

如何3步掌握applera1n:iOS设备激活锁绕过指南

如何3步掌握applera1n:iOS设备激活锁绕过指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的情况:购买了一台二手iPhone或iPad,却发现设备被…...

【店群自动化运营方案】单机并发接管20+ 指纹浏览器!一套 RPA 中控如何彻底终结“手动切号与排队上货”?

前言:规模化店群的利润,死在了“手动切号”的路上 很多操盘手把拼多多、跨境等店群矩阵做到 30 个、50 个店铺时,都会遇到一个极其痛苦的效率断层。 为了防关联,你必须给每个店铺配置独立的指纹浏览器环境。但这就意味着&#x…...

跟我学UDS(ISO14229) ———— 0x34(RequestDownload)实战:解锁数据传输的“安全”与“容量”双关卡

1. 深入理解0x34服务:数据传输的守门人 第一次接触UDS协议中的0x34(RequestDownload)服务时,我把它想象成了一个严格的门卫。这个门卫不仅要检查你的通行证(安全访问状态),还要确认你携带的包裹尺寸是否符合规定&#…...

高效智能激活解决方案:KMS_VL_ALL_AIO一站式Windows与Office激活指南

高效智能激活解决方案:KMS_VL_ALL_AIO一站式Windows与Office激活指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否遇到过Windows系统突然弹出激活提醒打断重要工作&#xf…...

图像矢量化工具深度解析:从位图到完美SVG的智能转换方案

图像矢量化工具深度解析:从位图到完美SVG的智能转换方案 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 在现代数字设计工作流中&…...

UniApp云打包 vs 本地打包:哪种更适合你的项目?(含详细对比)

UniApp云打包与本地打包深度解析:如何为你的项目选择最佳方案 在跨平台应用开发领域,UniApp凭借其"一次开发,多端发布"的特性赢得了众多开发者的青睐。但当项目进入打包发布阶段时,开发者往往面临一个关键抉择&#xf…...

安卓/鸿蒙/iOS跨平台测试实战:从碎片化到分布式的高效覆盖策略

1. 跨平台测试的挑战与机遇 移动互联网发展到今天,已经形成了安卓、鸿蒙、iOS三足鼎立的局面。作为一名从业多年的测试工程师,我深刻体会到跨平台测试就像是在三个完全不同的游乐场里玩闯关游戏——每个场地都有自己的规则和隐藏关卡。安卓的碎片化问题就…...

新手必看!用Altium Designer做50Ω阻抗匹配的完整流程(射频专用版)

新手必看!用Altium Designer做50Ω阻抗匹配的完整流程(射频专用版) 刚接触射频PCB设计的工程师常会遇到这样的困惑:为什么同样的走线宽度,在数字电路中能正常工作,到了射频段却出现信号反射和损耗&#xff…...

免费开源乐谱识别神器:Audiveris让音乐数字化如此简单

免费开源乐谱识别神器:Audiveris让音乐数字化如此简单 【免费下载链接】audiveris Latest generation of Audiveris OMR engine 项目地址: https://gitcode.com/gh_mirrors/au/audiveris 还在为纸质乐谱的数字化而烦恼吗?Audiveris作为一款强大的…...

DNF私服商业级部署实战:从零到一构建稳定可运营的服务端

1. 商业级DNF私服部署的核心差异 很多朋友可能已经尝试过用一键端搭建个人娱乐用的DNF私服,但商业级部署完全是另一个维度的挑战。去年帮朋友改造一个日均500人在线的私服时,光是处理突发流量就让我连续熬了三个通宵。商业级部署最核心的差异在于&#x…...

Java后端如何优化video标签播放大视频?分片传输实战指南

Java后端优化大视频播放:分片传输与性能调优实战 每次点开一个教学视频却只能盯着加载图标干等,作为开发者我们太清楚这种体验有多糟糕。当视频文件超过500MB时,传统的一次性下载方式会让用户等待时间呈指数级增长——这不是技术瓶颈&#xf…...

大模型的量化、蒸馏是什么?

以前虽然也在用大模型,但基本都是公网的通用大模型的调用。随着本月Google开源大模型Gamma4的发布,我对本地大模型的运行效果产生了一定兴趣,通过LM Studio工具进行了简单测试。测试过程中对一些基本概念产生疑问,也顺便分享给大家…...

Captain AI:智能运营破局——OZON商家增长引擎

在俄罗斯OZON平台跨境电商竞争日趋激烈的当下,商家想要突破运营瓶颈、实现业绩增长,离不开高效智能的运营工具加持。Captain AI作为专为对俄跨境电商打造的AI智能助手,以全链路运营支持为核心,从选品到复盘覆盖到了每一个关键环节…...

排查linux CentOS7.6的mysql磁盘 I/O 延迟过高问题

一,问题影响 磁盘 I/O 延迟过高会直接导致: 系统整体卡顿:所有依赖磁盘读写的操作(如日志写入、数据库读写、文件存储)都会变慢业务响应超时:数据库查询、接口调用、服务启动等耗时大幅增加,甚至…...