"shell编程简介.pdf"
本文档是关于shell编程的简介,主要涵盖了Bourne Shell的基础知识、shell变量、shell脚本编程、条件测试、循环控制以及shell的定制。作者是何斌武,来自大连理工大学网络中心,文档创建于1999年4月。
1. **Bourne Shell介绍**
Bourne Shell是由Stephen Bourne在贝尔实验室开发的,它是Unix系统中最基础的命令解释器之一。许多其他shell,如Bash(Bourne-Again SHell),都是基于Bourne Shell的。在学习和使用shell时,可以通过`man sh`来查看相关UNIX系统的改进或特性。
2. **shell基础知识**
- **提示符与环境**:提示符通常显示为"$",用户的相关设置可以在`/etc/passwd`、`/etc/profile`、`$HOME/.profile`等文件中进行配置。
- **shell执行选项**:提供了多种选项来改变shell的行为,如`-n`用于语法检查,`-x`开启命令跟踪,`-i`用于交互模式,`-r`限制模式等。这些选项可以组合使用,但某些选项可能相互冲突。
3. **受限制shell (Restricted Shell)**
`/bin/rsh`或`sh -r`是用来创建一个受限制的环境,禁止执行特定操作,如改变工作目录、修改PATH、进行输出重定向,以增强安全性。这种shell通常用于有限权限的用户,如拨号用户或应用型用户。然而,如果用户能直接调用不受限制的shell,如`sh`,则这些限制就可能被绕过。
4. **shell变量**
- **用户定义变量**:用户可以根据需要定义自己的变量。
- **环境变量**:影响整个shell会话的全局变量。
- **位置变量(shell参数)**:在命令行中传递给脚本或命令的参数,例如 `$1`, `$2` 等。
5. **shell脚本编程**
- 包括了如何编写shell脚本,如何使用条件测试(如`if`语句)来控制流程,以及如何使用循环结构(如`for`和`while`)。
6. **shell定制**
- 用户可以通过`set`命令来改变shell的选项和行为,这允许用户根据自己的需求调整shell的交互性和功能。
这篇文档对于初学者理解shell编程的基本概念、语法和实践非常有帮助,同时也适合经验丰富的shell用户作为参考手册,以了解不同shell选项和定制的可能性。