Измените bash_profile на другой путь к файлу - PullRequest
1 голос
/ 06 ноября 2011

Есть ли способ изменить файл, который загружает мой терминал, чтобы он никогда не открывал и не выполнял мой .bash_profile? Но все еще выполняет другой файл в другом каталоге?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 06 ноября 2011

Самое простое, что нужно сделать, это изменить содержимое файла .bash_profile, чтобы он содержал только:

. /path/to/other/file
1 голос
/ 06 ноября 2011

Вы можете запретить чтение любого файла запуска по умолчанию с помощью --noprofile --norc.Кроме того, вы можете указать bash расположение одного файла запуска, используя --rcfile file.Подробнее об этих параметрах см. man bash.

. В файле, предоставленном --rcfile, вы можете загружать стандартные файлы любым способом.

Но последствия таковы, что у вас естьчтобы эмулировать довольно много кода, чтобы получить приблизительно правильное поведение этой оболочки в отношении системных настроек, псевдонимов, дополнений, стандартных функций, ... Вы должны быть очень отчаянными, чтобы идти по этому пути.

1 голос
/ 06 ноября 2011

Нет - вы можете передать --noprofile в bash, чтобы полностью запретить чтение файла .bash_profile, но вы не можете изменить местоположение файла, который ищет bash.

С man bash:

Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с параметром --login, сначала она читает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла, он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile, в этом порядке, и читает и выполняет команды от первой, которая существует и доступна для чтения. Опция --noprofile может использоваться, когда оболочка запущена, чтобы запретить это поведение.

...