Bourne Shell入门与shell脚本编程指南

需积分: 19 15 下载量 188 浏览量 更新于2024-11-21 收藏 534KB PDF 举报
"Bourne Shell及shell编程" Bourne Shell是Unix系统中的一个经典命令解释器,由Stephen Bourne在贝尔实验室开发。它奠定了许多现代shell的基础,包括后来的Bash(Bourne Again SHell)。这篇文章主要介绍了Bourne Shell的基础知识、变量、脚本编程以及如何定制shell环境。 1. **Shell基础** - **环境选项**:通过设置环境变量,用户可以影响shell的行为。例如,`PS1`定义了命令提示符的样式,`SHELL`表示当前使用的shell类型。 - **特殊字符**:Bourne Shell支持一系列特殊字符,如`$`用于引用变量,`;`用于分隔命令,`&`用于后台执行,`*`和`?`作为通配符等。 2. **Shell变量** - **用户定义变量**:用户可以创建和修改自己的变量,如`name="John"`,然后用`echo $name`来输出。 - **环境变量**:影响整个shell会话的变量,如`PATH`指定了可执行文件的搜索路径。 - **位置变量(shell参数)**:`$0`到`$9`用于访问命令行参数,`$#`表示参数的总数,`$*`和`$@`则分别以单个字符串和数组形式保存所有参数。 3. **Shell脚本编程** - **条件测试**:`if`语句和相关的测试命令(如`[`或`test`]`)允许基于条件执行不同的代码块。 - **循环及重复控制**:`for`、`while`和`until`循环结构,以及`break`和`continue`命令,使得脚本能根据需要重复执行代码。 4. **Shell定制** - 用户可以通过编写`.bashrc`和`.bash_profile`等个人配置文件来自定义shell启动时的行为,比如设置别名、函数和环境变量。 - 使用`set`命令可以改变shell的行为,例如启用或禁用某些选项(如`-e`用于在遇到错误时立即停止脚本,`-x`用于打印执行的命令)。 5. **受限制的Shell(Restricted Shell)** - `sh -r`或`/bin/rsh`是一种安全模式,不允许执行像`cd`、修改`PATH`或进行输出重定向等可能有害的操作,常用于提供受限的用户环境。 Bourne Shell的这些特性使其成为Unix/Linux系统中强大的工具,不仅用于交互式命令行操作,还广泛用于自动化任务和编写复杂的shell脚本。了解并掌握这些知识,对于任何Unix/Linux用户或系统管理员来说都是至关重要的。