6.1 调用Bash

评论 0 浏览 0 2023-01-26
bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o option]
    [-O shopt_option] [argument …]
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o option]
    [-O shopt_option] -c string [argument …]
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o option]
    [-O shopt_option] [argument …]

所有与set内置程序一起使用的单字符选项(见1 Set 内置程序)都可以在调用shell时作为选项使用。 此外,还有几个多字符选项,你可以使用。这些选项必须出现在命令行中的单字符选项之前,才能被识别。

--debugger

安排在shell启动前执行调试器配置文件。打开扩展的调试模式(参见2 Shopt 内置程序关于shopt Builtin的extdebug选项的描述)。

--dump-po-strings

以‘$’开头的所有双引号字符串的列表以GNU gettext PO(可移植对象)文件格式打印在标准输出上。 除输出格式外,等同于-D

--dump-strings

相当于-D

--help

在标准输出端显示一条使用信息,并成功退出。

--init-file filename
--rcfile filename

在交互式shell中执行filename的命令(而不是~/.bashrc)。

--login

相当于-l

--noediting

当shell是交互式的时候,不要使用GNU Readline库(见8 命令行的编辑)来读取命令行。

--noprofile

当Bash作为登录shell被调用时,不要加载全系统的启动文件/etc/profile或任何个人的初始化文件~/.bash_profile~/.bash_login,或~/.profile

--norc

不要在交互式shell中读取~/.bashrc初始化文件。如果shell是以sh的方式调用的,默认情况下这是打开的。

--posix

改变Bash在默认操作与POSIX标准不同的情况下的行为,以符合标准。这旨在使Bash的行为成为该标准的一个严格的超集。参见6.11 Bash的POSIX模式,以了解对Bash POSIX模式的描述。

--restricted

使shell成为受限的shell(见6.10 受限制的shell)。

--verbose

相当于-v。在读取shell输入行时打印它们。

--version

在标准输出上显示这个Bash实例的版本信息,并成功退出。

有几个单字符的选项可以在调用时提供,而这些选项在set内置程序中是不可用的。

-c

读取并执行第一个非选项参数command_string中的命令,然后退出。如果在command_string之后还有参数,则第一个参数被分配给$0,其余的参数被分配给位置参数。 对$0的分配设定了shell的名称,在警告和错误信息中使用。

-i

强制 shell 以交互方式运行。交互式shell的描述见6.3 交互式shell

-l

让这个shell像被login直接调用一样。 当shell是交互式的,这相当于用‘exec -l bash’启动一个login shell。 当shell不是交互式的,login shell的启动文件将被执行。‘exec bash -l’或‘exec bash --login’将用Bash登录shell替换当前shell。 参见6.2 Bash的启动文件,了解登录shell的特殊行为。

-r

使shell成为受限的shell(见6.10 受限制的shell)。

-s

如果有这个选项,或者在选项处理后没有留下任何参数,那么命令将从标准输入中读取。 这个选项允许在调用交互式shell或通过管道读取输入时,设置位置参数。

-D

在标准输出上打印所有以‘$’开头的双引号字符串的列表。 当当前语言环境不是CPOSIX时,这些是要进行语言翻译的字符串(见Local-Specific Translation)。 这意味着-n选项;不会执行任何命令。

[-+]O [shopt_option]

shopt_option是内置程序shopt所接受的shell选项之一(见2 Shopt 内置程序)。 如果shopt_option存在,-O设置该选项的值;+O取消设置。如果没有提供shopt_option,由shopt接受的shell选项的名称和值将被打印在标准输出上。 如果调用选项是+O,则输出以可重复用作输入的格式显示。

--

一个--标志着选项的结束,并禁止进一步的选项处理。 在--之后的任何参数都被视为文件名和参数。

一个login的shell是指参数0的第一个字符是‘-’的shell,或者是用--login选项调用的。

一个interactive shell是在没有非选项参数的情况下启动的,除非指定了-s,没有指定-c选项,并且其输入和输出都连接到终端(由isatty(3)决定),或者用-i选项启动。参见6.3 交互式shell,了解更多信息。

如果参数在选项处理后仍然存在,并且既没有提供-c也没有提供-s选项,那么第一个参数将被假定为包含shell命令的文件名(参见Shell Scripts)。 当以这种方式调用Bash时,$0被设置为文件名,而位置参数被设置为其余参数。 Bash读取并执行该文件的命令,然后退出。Bash的退出状态是脚本中最后执行的命令的退出状态。如果没有执行任何命令,则退出状态为0。

最后更新2023-03-08
0 个评论
上一篇: 6 Bash功能
当前页面书签