有没有一种简单的方法可以隔离 bash 会话,以便只保留必要的变量(、、HOME
等)?(如果没有设置 HOME、DISPLAY、TERM、SHELL 等,许多程序都会失败,因此这种方法至关重要)。也就是说,有人知道这些变量设置在哪里吗?USER
DISPLAY
我曾尝试将这一行添加test -n "${NO_ALIASES+D}" && return 0
到我的~/.bash_aliases
(我没有做任何额外的事情~/.bashrc
),所以~/.bashrc
如果我这样做,就会得到一个原始的
env -i NO_ALIASES=1 bash
但这些变量仍然缺失。
我也在/etc/profile
隔离的 shell 中尝试过源,但是无济于事。
确实有效的是手动传递:
env -i HOME=$HOME DISPLAY=$DISPLAY SHELL=$SHELL TERM=$TERM bash --norc