Linux Shell学习:条件选择与功能菜单实现
198 浏览量
更新于2024-08-31
收藏 99KB PDF 举报
在Linux Shell学习笔记的第三天,你深入探讨了条件选择在脚本编程中的应用。这一部分主要关注三个核心概念:条件测试、`if...else...fi`结构以及`case...in...esac`语句。
1. **条件测试**:
- `if...else...fi`结构是基础,它用于根据条件执行不同的命令。例如,你可以使用`test`命令或者直接评估命令的返回值来测试一个条件,如文件存在(-e)、大小(-s)、类型(-f, -d, -r, -w, -x)等。这些选项可以帮助你验证变量或路径的状态。
2. **`case...in...esac`**:
这是一种更灵活的条件匹配工具,适用于多个可能的选择。它允许你根据输入值匹配不同的`case`分支,并执行相应的代码块。这对于创建交互式的菜单系统非常有用,如脚本中提到的显示时间、CPU负载和内存等。
3. **功能菜单实现**:
通过`case`语句,你构建了一个脚本功能菜单,用户输入对应数字来触发不同的操作。比如,按1显示当前时间(`date +%T`),按2获取CPU负载(`uptime awk`截取),按3查看剩余内存(`free -m`),而按0则退出脚本。
4. **逻辑操作符**:
在条件测试中,逻辑操作符如`-a`(与)和`-o`(或)用于组合多个条件,而`!`(非)用于否定一个条件。例如,`test -e /etc/passwd -a -e /etc/shadow`会检查两个文件同时存在,而`test -e /etc/passwd -o -e /etc/groups`则只要一个文件存在即为真。
5. **字符串和数值比较**:
字符串比较操作符包括`==`(等于)、`!=`(不等于),空字符串检查用`-z`,非空字符串用`-n`。数值比较有`-eq`(等于)、`-ne`(不等于)、`-gt`(大于)、`-lt`(小于)、`-ge`(大于等于)和`-le`(小于等于)。这些帮助你精确地判断变量的值。
6. **实例演示**:
课程中还提供了两个实例:一个是`inputtest.sh`脚本,它使用`if...else...fi`结构判断用户输入,如果输入为空,则显示错误消息;否则,显示输入的姓名。另一个实例展示如何利用条件测试来决定执行哪些命令。
通过这一天的学习,你应该对Linux Shell中的条件选择有了更深的理解,能够编写出基于用户输入、环境状态进行决策的实用脚本。继续深入实践,将理论转化为实际技能,是提升Shell编程能力的关键。
456 浏览量
222 浏览量
180 浏览量
157 浏览量
131 浏览量
131 浏览量
164 浏览量
139 浏览量
137 浏览量
weixin_38656297
- 粉丝: 3
- 资源: 906
最新资源
- 奇偶校验-WebAssembly低级格式库-Rust开发
- 通过visa控制Agilent信号源
- elves-of-santa-101-global-packaging:如何制作一个全局npm软件包。 Hello World应用程序
- contactForm
- django-project-manager:django中的prosectos实现程序
- 草根域名注册批量查询工具 v8.0
- Javascript-TaskList
- WDD430-Lesson1
- 行业文档-设计装置-面料服装效果图开发平台及呈现方法.zip
- 智睿中小学生学籍信息管理系统 v2.7.0
- test2
- windos 上位机I2C、SPI、GPIO转USB,USB转I2C、SPI、GPIO组件
- skyfn
- ProjectPal:使用Electron制作的CodingProgramming项目经理和Idea Generator
- FE内容付费系统响应式(带手机版) v4.51
- 华峰超纤-300180-一体化超纤革赛道冠军,向高附加值领域延伸成长前景向好.rar