Linux Shell编程:until语句与Shell脚本解析
需积分: 10 139 浏览量
更新于2024-08-16
收藏 2.22MB PPT 举报
"该资源是一份关于Linux环境下Shell脚本编程的PPT,重点讲解了until语句的用法,以及Shell的基本概念和类型。"
在Linux系统中,Shell脚本是实现自动化任务的重要工具,它允许用户编写一系列命令来执行特定任务。`until`语句是Shell编程中的一个循环结构,与`while`语句类似,但它们的逻辑相反。`while`语句在条件为真时执行循环体,而`until`语句则在条件为假时执行循环体。
`until`语句的基本语法如下:
```bash
until condition
do
statements
done
```
在这里,`condition`是一个测试表达式,`statements`是循环体中要执行的命令或语句。当条件不满足(即条件的返回值为非零,表示失败)时,`until`循环会执行循环体内的命令。一旦条件变为真,循环就会停止。
例如,给出的示例展示了如何使用`until`监控某个用户登录情况:
```bash
until who | grep “$1” > /dev/null
do
sleep 60
done
echo –e ‘\a’
echo “*** $1 has just logged in***”
```
这段脚本会检查用户 `$1` 是否已登录。如果用户尚未登录,`grep` 命令找不到匹配的行,`until` 条件为假,循环继续,每分钟(`sleep 60`)检查一次。一旦用户登录,`grep` 将找到匹配行,条件变为真,循环结束,然后发送警报声音 (`echo –e ‘\a’`) 和通知 (`echo “*** $1 has just logged in***”`)。
Shell还有多种类型,主要分为Bourne Shell家族和C Shell家族。Bourne Shell包括最初的`sh`,改进版的`ksh`(Korn Shell)和广泛使用的`bash`(Bourne-Again SHell),这些Shell更偏向于编程。C Shell包括`csh`和`tcsh`(TENEX/TOPS C Shell),它们提供了更接近C语言风格的语法和更多交互式特性,如命令历史记录、别名和作业控制。
在系统中,不同类型的Shell通常存放在`/bin`目录下,如`/bin/bash`,`/bin/csh`等。用户可以根据个人喜好和需求选择或切换不同的Shell。KornShell(ksh)是AT&T Bell实验室的David Korn开发的,它结合了C Shell的交互特性与Bourne Shell的编程能力,使得用户在编程和交互使用上都有更好的体验。
了解和掌握`until`语句及其在不同Shell中的应用,有助于提升Linux环境下的自动化脚本编写能力,从而提高工作效率。对于系统管理员和程序员来说,熟悉Shell脚本语言是日常工作中不可或缺的技能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-10-07 上传
2021-09-28 上传
2017-10-15 上传
2012-10-06 上传
2009-06-05 上传
2022-09-24 上传
昨夜星辰若似我
- 粉丝: 50
- 资源: 2万+
最新资源
- 老师愿您开心每一天flash动画
- Globalize your Delphi applications without troubles
- ChickenVR-launcher:[已弃用] Chicken VR的启动器
- card-animation:简单的卡片动画
- bio331_2021:2021年生物信息学的注释和代码
- 投诉人:Accuser是一个轻量级的框架包装程序,可让您编写Github机器人来监视“拉取”请求并将人员分配给PR
- mkb:合作知识提炼嵌入知识库
- my-personal-site.io
- com_helloworld:创建组件是为了了解创建Joomla组件的过程
- Talent Eye Beta-crx插件
- vdrift:VDrift源代码
- addupstream:一个小的cli,可自动将上游遥控器添加到git项目中
- JSON2.jl:使用Julia类型快速进行JSON编组
- 毕业设计&课设-该项目旨在使移动机械手youBot从初始配置中拾取立方体并将其运输到所需的位置….zip
- Outils de productivité Rakuten-crx插件
- terrafirma:用于Terraform计划的静态分析工具