news 2026/7/1 23:29:26

9、Linux 脚本循环控制与函数使用全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
9、Linux 脚本循环控制与函数使用全解析

Linux 脚本循环控制与函数使用全解析

1. 循环控制

在进入循环后,有时我们需要提前退出循环,或者排除某些项目的处理。例如,若只想处理列表中的目录,而非所有类型的文件,就可以使用breakcontinue等循环控制关键字。
-break关键字:用于退出循环,不再处理后续条目。
-continue关键字:用于停止当前条目的处理,直接开始处理下一个条目。

以下是一个仅处理目录的示例代码:

for f in * ; do [ -d "$f" ] || continue chmod 3777 "$f" done

在这个循环中,我们只想为目录设置权限(包括 SGID 和粘性位)。*搜索会返回所有文件,但循环中的第一条语句确保只处理目录。如果当前循环的测试失败,即目标不是目录,continue关键字会获取下一个循环列表项;如果测试为真,即处理的是目录,则会执行后续语句并执行chmod命令。

若需要运行循环直到找到目录后退出循环,可以这样调整代码:

for f in * ; do [ -d "$f" ] && break do
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 11:35:14

48、Solaris 系统中的进程间通信:信号量与消息队列详解

Solaris 系统中的进程间通信:信号量与消息队列详解 1. Solaris 中的信号量操作 在 Solaris 系统里,应用程序创建信号量集需要调用 semget(2) 函数。系统中每个信号量集都由 semid_ds 数据结构来描述,该结构包含以下元素: /** There is one semaphore id data struc…

作者头像 李华
网站建设 2026/7/1 13:26:39

52、文件应用编程接口(APIs)详解

文件应用编程接口(APIs)详解 1. 文件I/O操作概述 在文件操作中,有多种系统调用和接口可供使用。例如, pread 和 pwrite 系统调用,以及通过 readv 和 writev 系统调用实现的分散/聚集I/O。异步I/O可以通过 aio_read(3R) 和 aio_write(3R) 接口(属于 posix4…

作者头像 李华
网站建设 2026/6/30 12:11:25

56、文件系统特性解析

文件系统特性解析 1. 可变块大小支持 不同文件系统所使用的块大小通常会因文件系统类型而异,并且在很多情况下,每个文件系统都能支持一系列不同的块大小。文件系统的块大小一般是在创建文件系统时通过一个可调整的参数来配置的。 块大小会以不同的方式影响文件系统的性能和…

作者头像 李华
网站建设 2026/7/1 17:51:31

人工智能音乐创作新纪元:Jukebox技术如何重塑音乐产业边界

人工智能音乐创作新纪元:Jukebox技术如何重塑音乐产业边界 【免费下载链接】jukebox-5b-lyrics 项目地址: https://ai.gitcode.com/hf_mirrors/openai/jukebox-5b-lyrics 在数字技术与艺术创作深度融合的当下,人工智能正以前所未有的方式渗透音乐…

作者头像 李华