掌握UNIX位置变量:命令行参数与脚本编程基础

需积分: 50 3 下载量 10 浏览量 更新于2024-08-25 收藏 1.01MB PPT 举报
在UNIX初级教程的第四章中,主要介绍了shell中的位置变量,这是编写脚本时至关重要的概念。位置变量是脚本从命令行获取参数的方式,它们允许脚本访问命令行传递的参数。以下是一些关键的知识点: 1. **位置变量的定义**: - `$0`:脚本或命令文件的名称。 - `$1, $2, ..., $9`:第1至第9个命令行参数,顺序对应于传递的参数。 - `$#`:命令行参数的总数。 - `$*`:所有参数的集合,用IFS(Internal Field Separator,内联分隔符,通常是空格或逗号)分隔。 - `$@`:所有参数的集合,但保留每个参数之间的空白,不使用IFS分隔。 - `$?`:上一个执行命令的退出状态,0表示成功,非0表示失败。 - `$$`:当前正在执行的进程的ID(PID)。 2. **设置位置变量**: - 可以通过命令行参数直接为位置变量赋值,例如`$ set a b c`。 - 通过`IFS=`设置IFS为null(空字符)会影响`$*`的输出,使其参数之间没有分隔。 3. **IFS的作用**: - IFS控制如何分割参数集合,设置为null时,`$*`中的参数会紧密相连,而`$@`则保持原始的空格分隔。 4. **示例与应用场景**: - 使用`echo $*`可以显示所有参数的字符串,如`abc`(当IFS为空时)。 - `echo $@`则会保留每个参数之间的空格,输出为`a b c`。 5. **位置变量在shell编程中的作用**: - 位置变量是编写shell脚本时,尤其是处理用户输入、参数解析和条件判断时的重要工具。 6. **理解系统架构**: - 在学习shell编程前,需要对计算机基础有一定了解,包括硬件(如CPU、内存、外存、输入输出设备)和软件(系统软件如操作系统,应用软件如财务软件)。 7. **操作系统模型**: - 操作系统通常有三层结构:用户层(命令层,如shell)、服务层(处理用户请求并调用内核)和内核层(直接与硬件交互)。这种模型有助于理解操作系统的工作原理和接口设计。 综上,理解位置变量在UNIX shell中的工作原理和用途是编写高效脚本的基础,同时掌握计算机基础知识和操作系统模型对于整个UNIX环境下的编程至关重要。