如何在没有环境的情况下使用 .bashrc 启动 bash 子 shell

如何在没有环境的情况下使用 .bashrc 启动 bash 子 shell

我想创建一个不继承我对环境所做的任何更改的 bash 子 shell。基本上,我希望子 shell 中的环境与登录时的环境相同。

我想

env -i bash

可能会有效,但我收到以下错误

dircolors: no SHELL environment variable, and no shell type option given
dircolors: no SHELL environment variable, and no shell type option given

我猜测 bash 正在尝试加载 my.bashrc 文件但失败了,因为它缺少登录时设置的一些环境变量。

答案1

您可以使用以下方式打印登录时由 bash 调用的脚本

echo exit | strace bash -li |& less | grep '^open'

运行这些脚本后env -i bash似乎有效

相关内容