BourneShell与Shell编程入门教程

需积分: 18 0 下载量 26 浏览量 更新于2024-07-27 收藏 563KB PDF 举报
"这篇文档是关于BourneShell和shell编程的实例讲解,由何斌武制作,来源于大连理工大学的LINUX选修课讲义。文档涵盖了BourneShell的基础特性、shell编程基础、环境设置、选项配置、特殊字符、用户定义变量、环境变量、位置变量、shell脚本编程、条件测试、循环与重复控制以及shell的定制化等内容。" 在UNIX和类UNIX系统中,BourneShell是一个重要的命令解释器,由Stephen Bourne在Bell实验室开发。它提供了一系列基础功能和其他有用特性,是许多后续shell(如Bash)的基础。shell编程涉及编写脚本以自动化任务,这在系统管理和日常操作中非常常见。 **BourneShell基础**: 1. **环境**:shell的环境受到`/etc/passwd`文件、`/etc/profile`和`$HOME/.profile`等文件的影响,这些文件用于设置用户的初始环境。 2. **提示符**:通常显示为`$`,但可以通过修改环境变量来定制。 3. **执行选项**:例如`-n`用于测试脚本的语法,`-x`用于在执行时显示命令,`-i`表示交互式模式,`-e`则会在遇到错误时立即退出等。这些选项可以通过命令行参数传递给shell。 **Shell编程**: 1. **特殊字符**:包括通配符(如`*`和`?`)、重定向(`<`和`>`)、管道(`|`)和流程控制符(如`if`, `for`, `while`等)。 2. **Shell变量**:分为用户定义变量、环境变量和位置变量(即shell参数)。环境变量对子进程可见,位置变量存储命令行参数。 3. **Shell脚本编程**:包括定义函数、条件测试(如`[ ]`或`test`命令)以及循环结构(如`for`, `while`和`until`)。 4. **Shell定制**:通过修改shell配置文件(如`.bashrc`)来改变shell的行为,比如设置别名、函数和环境变量。 **受限制的Shell**(`/bin/rsh`或`sh -r`): 这种shell限制了某些功能,如禁止`cd`命令改变目录,不能修改`PATH`,不允许输出重定向,旨在提高安全性,防止未经授权的系统更改。 这篇文档对于理解BourneShell的用法和编写shell脚本是极好的学习资源,尤其适合初学者和需要提升shell技能的用户。