大连理工大学LINUX选修课BourneShell编程讲义

需积分: 19 7 下载量 142 浏览量 更新于2024-09-20 收藏 534KB PDF 举报
"这篇文档是大连理工大学LINUX选修课的讲义,主要涵盖了BourneShell和shell编程的相关知识,由何斌武编写。作者欢迎非商业性的转载,但要求保留版权声明。" BourneShell是UNIX系统中最早且最基本的shell之一,由Stephen Bourne在贝尔实验室开发。它为用户提供了一种与操作系统交互的方式,允许用户执行命令、编写脚本,并具有丰富的编程特性。BourneShell的基础包括以下几个方面: 1. **基本介绍**:讲解了shell的起源和作用,以及在UNIX系统中的地位。 2. **环境**:涉及到`/etc/passwd`文件,它是系统中存储用户信息的地方,包括用户的默认shell。提示符通常显示为"$",可以通过`/etc/profile`和`$HOME/.profile`来定制。 3. **选项**:shell执行时有多种选项,如`-n`用于检查脚本的语法,`-x`开启命令追踪,`-a`使所有变量都可用于子shell,`-i`表示交互模式等。这些选项可以组合使用,但某些选项之间可能存在冲突,例如`-e`和`-i`。 4. **特殊字符**:在shell编程中,特殊字符如`$`, `;`, `|`, `&`, `<`, `>`等用于控制命令的执行和流程控制。 5. **shell变量**:包括用户定义变量、环境变量和位置变量(shell参数)。环境变量影响整个shell会话,位置变量则包含脚本运行时传递的参数。 6. **shell脚本编程**:涉及如何编写和执行shell脚本,以及如何进行条件测试(如`if`语句)和循环控制(如`for`和`while`循环)。 7. **shell定制**:用户可以根据自己的需求修改shell的行为,例如通过设置环境变量或编写启动文件来自定义shell启动时的环境。 8. **受限制shell (Restricted Shell)**:`sh -r`或`/bin/rsh`是一种安全模式,限制了用户执行某些操作,如改变工作目录(`cd`)、修改`PATH`或进行输出重定向。 这份讲义不仅适合初学者理解BourneShell的基本概念和操作,也对有经验的系统管理员和开发者提供了深入学习shell编程的资源。通过学习,读者能够掌握编写高效、实用的shell脚本的技巧,从而更有效地管理和自动化UNIX/Linux系统的任务。