Мне нужно использовать "чистую" оболочку (например, bash) под терминалом Linux/OSX без какой-либо конфигурации пользователя, но при каждом запуске она считывает информацию о конфиге из некоторых файлов (например, ~/.bashrc). Я могу изменять файл каждый раз, когда мне нужна "чистая" оболочка, и возвращать его обратно, когда я закончил, но есть ли более простые способы сделать это, например команду?
Как запустить оболочку без какой-либо конфигурации пользователя?
Ответ 1
Вы можете передать параметры командной строки --noprofile
и --norc
:
$ bash --noprofile --norc
Вы найдете документацию об этих параметрах в странице руководства.
Ответ 2
Выполнение bash --noprofile --norc
все еще унаследовано от родительского процесса. Основываясь на подобном вопросе, я обнаружил, что способ, которым я интерпретировал этот вопрос env -i bash --norc --noprofile
, был тем, что я хотел бы.
Ответ 3
Использовать --noprofile --norc:
--noprofile
Do not read either the system-wide startup file /etc/profile or any of the personal initializa‐
tion files ~/.bash_profile, ~/.bash_login, or ~/.profile. By default, bash reads these files
when it is invoked as a login shell (see INVOCATION below).
--norc Do not read and execute the system wide initialization file /etc/bash.bashrc and the personal
initialization file ~/.bashrc if the shell is interactive. This option is on by default if the
shell is invoked as sh.
(из man-страницы).