1、命令简介
bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again Shell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。bash是大多数Linux系统以及Mac OS X默认的shell。
2、命令用法
bash [options] [file]
3、命令描述
Bash是一个与sh兼容的命令语言解释器,它执行从标准输入或文件中读取的命令。Bash还包含来自Korn和C shell (ksh和csh)的有用特性。
Bash旨在成为符合IEEE POSIX规范(IEEE Standard 1003.1)的Shell和Utilities部分的实现。默认情况下,可以将Bash配置为与posix一致。
4、命令选项
除了set builtin命令描述中记录的单字符shell选项外,bash在调用时还解释以下选项:
选项 | 描述 |
-c string | 如果 则从字符串中读取命令。 如果字符串后面有参数, 则将它们赋值给位置参数, 从 |
-i | 如果有 shell是交互式的。 |
-l | 使bash作为一个登录shell被调用 (请参阅下面的INVOCATION)。 |
-r | 如果 shell将受到限制 (参见下面的RESTRICTED SHELL)。 |
-s | 如果 或者在选项处理之后没有参数保留, 那么将从标准输入中读取命令。 此选项允许在调用交互式shell时设置位置参数。 |
-D | 在标准输出中会打印 一个以 当当前区域设置不是C或POSIX时, 这些字符串需要进行语言转换。 这意味着使用-n选项;不执行任何命令。 |
[-+]O [shopt_option] | |
|
所接受的shell选项之一(请参阅下面的shell内置命令)。 如果存在 则 如果没有提供 那么shopt接受的shell选项的名称和值将打印在标准输出上 。如果调用选项是 输出将以可重用为输入的格式显示。 |
-- |
|
Bash还解释了许多多字符选项。这些选项必须出现在命令行中要识别的单字符选项之前。如下,
选项 | 描述 |
--debugger | |
| 安排在shell启动之前执行调试器配置文件。 打开扩展调试模式 (参见下面对shopt内置选项的extdebug选项的描述) 和shell函数跟踪 (参见下面对内置设置的-o functrace选项的描述)。 |
--dump-po-strings | |
| 相当于-D, 但是输出是GNU gettext po(可移植对象)文件格式。 |
--dump-strings | |
| 相当于-D。 |
--help | 在标准输出上显示用法消息并成功退出。 |
--init-file file --rcfile file | |
| 从文件而不是标准的个人初始化文件~/执行命令。 bashrc, 如果shell是交互式的(参见下面的INVOCATION)。 |
--login | 相当于-l。 |
--noediting | |
| 当shell是交互式的时候, 不要使用GNU readline库来读取命令行。 |
--noprofile | |
| 不要读取系统范围的启动文件 或任何个人初始化文件
默认情况下, bash在作为登录shell调用时 读取这些文件(请参阅下面的INVOCATION)。 |
--norc | 不要读取和执行个人初始化文件 如果shell是交互式的。 如果以sh的形式调用shell, 默认情况下此选项是开启的。 |
--posix | 更改bash的行为, 其中默认操作不同于POSIX标准, 以匹配标准(POSIX模式)。 |
--restricted | |
| shell受到限制(参见下面的RESTRICTED SHELL)。 |
--rpm-requires | |
| 生成运行shell脚本所需的文件列表。 这意味着' 并且受到与编译时错误检查相同的限制; 不解析反标记、 []测试和评估, 因此可能会错过一些依赖项。 |
--verbose | |
| 相当于 -v. |
--version | |
| 在标准输出上显示此bash实例的版本信息 并成功退出。 |
注意:如果在选项处理之后仍然保留参数,并且没有提供-c或-s选项,则假定第一个参数是包含shell命令的文件的名称。如果以这种方式调用bash,则将$0
设置为文件名,并将位置参数设置为其余参数。Bash从该文件读取并执行命令,然后退出。Bash的退出状态是脚本中执行的最后一个命令的退出状态。如果未执行任何命令,退出状态为0
。首先尝试打开当前目录中的文件,如果没有找到文件,那么shell将在PATH
中搜索该脚本的目录。
5、使用示例
1)使用-n参数检查脚本语法
bash -n my.sh
2)使用-x参数执行脚本并输出执行过程
bash +x my.sh
6、相关文件
选项 | 描述 |
/bin/bash | |
| 可执行的bash程序 |
/etc/profile | |
| 系统范围的初始化文件, 用于登录shell |
~/.bash_profile | |
| 个人初始化文件, 用于登录shell |
~/.bashrc | |
| 每个交互式shell启动文件 |
~/.bash_logout | |
| 单个登录shell清理文件, 在登录shell退出时执行 |
~/.inputrc | |
| 单个readline初始化文件 |