Есть ли простой способ изолировать сеанс bash, чтобы сохранить только важные переменные (HOME , USER , DISPLAY и т.д.)? (важно, чтобы многие программы не работали, если не заданы HOME, DISPLAY, TERM, SHELL и т. д.). А именно, кто-нибудь знает, где они установлены?

Я попытался добавить строку test -n "${NO_ALIASES+D}" && return 0 в мои ~/.bash_aliases (я не делал ничего дополнительного в ~/.bashrc), чтобы исходный источник ~/.bashrc был получен Если бы я сделал

env -i NO_ALIASES=1 bash

но эти переменные все еще отсутствовали.

Я также пробовал исходный /etc/profile в изолированной оболочке, но безрезультатно.

Тот, который работает, является ручным проходом:

env -i HOME=$HOME DISPLAY=$DISPLAY SHELL=$SHELL TERM=$TERM bash --norc

0