Bash 参考手册

目录


Next: , Previous: (dir), Up: (dir)

Bash 的特性

这个文本是一个在Bash shell中出现的特性进行摘要性的描述 (3.2版本, 2006 九月 28).

这个文本的版本是 3.2, 最后更新于 2006年 九月 28, 这个GNU Bash 参考手册, 用于 Bash 3.2 版本.

Bash 包含了其他shell中所拥有的特性,以及Bash 所独有的. shell中的一些也包括Bash拥有来源于 Bourne Shell的虚终端概念 (sh), Korn Shell (ksh), 以及 C-shell (csh 以及他的继承者, tcsh). 伴随着目录暂停的特性根源于 某类shell中的灵感.

这个手册意味着是一个简短介绍能在Bash中出现的特性. Bash 手册页将要准确的提及及运用于shell 行为中.


向下: , 上一级: 首部, 向上: 首部

1 介绍


Next: , Up: 介绍

1.1 什么是 Bash?

Bash 是一种 shell, 还是命令解析性语言, 为 gnu 运行的系统. 这个名字是来至于 ‘Bourne-Again SHell’的首字母 , a pun on Stephen Bourne, 作者是当前流行的 Unix shell sh的始祖, 出现在 贝尔实验室的 Unix 的第七个测试版.

Bash 是一个大量整合了 sh 以及结合了来至于 Korn shell ksh and the C shell csh有用的特性. 他意味着遵守执行 ieee posix Shell 标准和ieee posix的工具部分的规范 (ieee 标准 1003.1). 他在程序使用和交互式上提供了功能上巨大改进版的 sh .

当在 gnu 操作系统提供其他 shells 中, 包括了一个 csh, Bash 是默认的 shell. 就像其他的 gnu 软件一样, Bash 十分的便捷. 这是普遍运行在 Unix 的相近版本和一少部分的去他操作系统中 − 独立的-支持 ms-dos, os/2, and Windows 平台 的接口.


Previous: What is Bash?, Up: Introduction

1.2 什么是 shell?

在他的基础上, shell 是一个简单的用于执行命令行的宏处理进程 .. 术语 “宏处理进程” 意义是 在功能性上的文本和标记被扩大为创建更大的表达式.

Unix shell 是一个命令解析程序和程序语言. 正如一个命令解析程序一样, shell 提供用户界面 用于设置丰富的 gnu应用 . 程序语言的特性允许这些应用于被组合起来. 文件包含命令能被建立, 和 他们自身变成命令. 这些新命令有同样的状态就像位于 /bin的系统命令一样, 允许 用户或者组去订制环境为了自动化操作他们的相同任务.

Shells 可能被用于交互式或者非交互式中. 在交互式模式中,他们接收来自键盘的打印输入. 当在执行非交互式中, shells 会从一个文件中读取命令.

shell 允许执行 gnu 特有的命令, 以及同步和非同步的. shell 在接收更多地输入之前将等待同步命令的完成; 当shell在执行附加命令时,异步命令与之并行的继续执行中.. 管道 建立允许原子控制着那些输入和输出,通过那些命令 . 而且, shell 允许控制大量包含命令的环境.

Shells 也提供一套很小的 嵌入式命令 (builtins) 执行不可能的功能 或者不便于通过个别应用中获得的那些功能. 比如, cd, break, continue, and exec)并不能在shell的外部执行,因为他们直接的操作对象是 shell 本身. 历史, getopts, kill, 或者 pwd builtins, 除此以外, 能被从分离的应用中执行, 但是他们更多便捷的去使用就像 builtin 命令. 所有的 shell builtins 都被并发的部分记录.

执行命令是其本质, shells 最大能力 (以及 复杂性) 是归于他们植入的程序语言. 正如任何高级语言一样, shell 提供 变量, 流控制建立, 应用, 和函数.

Shells 提供特性连接明确的交互式利用胜过增强程序语言. 这些交互式特性包含了作业控制, 命令行编辑 , 命令历史和别名. 这些各种各样的特性将会 记录在这个手册中.


Next: , Previous: Introduction, Up: Top

2 Definitions