我在当前shell中设置了bash选项(例如shopt -e autocd),并希望将此选项导出/复制到新创建的子shell中。有没有办法做到这一点?
Bash版本为:GNU bash,版本4.3.11(1)-release(x86_64-pc-linux-gnu)
示例:
$shopt -s autocd
$shopt autocd
autocd on
$bash
$shopt autocd
autocd off
我在当前shell中设置了bash选项(例如shopt -e autocd),并希望将此选项导出/复制到新创建的子shell中。有没有办法做到这一点?
Bash版本为:GNU bash,版本4.3.11(1)-release(x86_64-pc-linux-gnu)
示例:
$shopt -s autocd
$shopt autocd
autocd on
$bash
$shopt autocd
autocd off
您可以通过使用相应的shell变量BASHOPTS导出许多与shell变量类似的shell选项,该变量存储了这些shell选项:
export BASHOPTS
以下是 Bash 手册的一些信息:
BASHOPTS: 启用的 shell 选项列表,由冒号分隔。列表中的每个单词都是 shopt 内置命令的 -s 选项的有效参数(请参阅下面的 SHELL BUILTIN COMMANDS)。在 shopt 报告为开启的选项将出现在 BASHOPTS 中。如果该变量在 bash 启动时处于环境中,则在读取任何启动文件之前,列表中的每个 shell 选项都将被启用。此变量只读。
还有一个密切相关的变量 SHELLOPTS,但这只在直接调用 bash(例如通过 bash)而不是通过 sh 时才能正常工作,因为 sh 启用了 Bash 的 POSIX 模式。这里提供了更多关于此问题的信息。
export BASHOPTS
吗?OP 使用的是 shopt
。 - flow2k