В приложении с графическим интерфейсом, которое я разрабатываю, мне нужно открыть панель интерактивного терминала, в которой установлен PATH, чтобы сначала были найдены правильные версии вспомогательных инструментов.
В некоторых средах, особенно вMac, окна терминала создаются как оболочки входа в систему, потому что родительский процесс пользовательского интерфейса не оценивал обычные файлы инициализации, такие как /etc/profile
или $HOME/.bash_profile
.
. Из-за этого многие люди настроили свои псевдонимы, помощник-sourcings / evals (rbenv, rvm, ..) и т. д. таким образом, что они загружаются только для оболочек входа в систему.
По этой причине я хотел бы, чтобы на вкладке терминала открывалась оболочка входа вместо-Login один, но я не нашел способ изменить PATH после того, как все сценарии по умолчанию оценены.
Похоже, bash --login --init-file <(echo "echo hello")
никогда не оценивает файл инициализации (предоставляется через анонимный канал).
Есть ли способ запустить оболочку входа в систему с PATH, который устанавливается после загрузки всех сценариев запуска?
У меня это работает для Fish и Zsh,которая будет новой оболочкой по умолчанию на MacOS Catalina, но не может понять, как заставить ее работать на bash.