我在当前的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
答案 0 :(得分:3)
您可以使用存储shell选项的相应shell变量BASHOPTS导出许多类似于shell变量的shell选项:
export BASHOPTS
以下是Bash手册页的一些信息:
BASHOPTS: 以冒号分隔的已启用shell选项列表。列表中的每个单词都是shopt内置命令的-s选项的有效参数(请参阅下面的SHELL BUILTIN命令)。出现在BASHOPTS中的选项是由shopt报告的选项。如果此变量在bash启动时处于环境中,则在读取任何启动文件之前,将启用列表中的每个shell选项。该变量是只读的。
有一个密切相关的变量SHELLOPTS,但是如果直接调用bash(例如通过 bash )而不是通过 sh ,这似乎只能运行良好,因为 sh 启用Bash的POSIX模式。 Here是有关此问题的更多信息。