Проблема с псевдонимами в терминальной оболочке - PullRequest
1 голос
/ 09 июля 2019

Я установил / bin / bash в качестве оболочки по умолчанию в терминале (macos) и мои псевдонимы, записанные в '~ / .bashrc' не работают (командане найден).

Но если я напишу в терминале команду /bin/bash, я переключусь на новую оболочку bash3.2, а затем смогу ее использовать.

Есть еще какая-то '. Bashrc' где я должен записать свои псевдонимы?

PS Я использовал настройки терминала, чтобы сделать / bin / bash по умолчанию и команду chsh -s /bin/bash/ тоже.

Ответы [ 3 ]

3 голосов
/ 09 июля 2019

Terminal запускает оболочку входа в систему, а не «обычную» интерактивную оболочку, поскольку сам терминал не запускается из оболочки, которая унаследовала среду от оболочки входа в систему.

Источник обычных интерактивных оболочек .bashrc;вход в систему для входа в систему: первый из .profile, .bash_login или .bash_profile, который он найдет.Я рекомендую получать .bashrc напрямую из .bash_profile.

Ваши псевдонимы работают, когда вы запускаете /bin/bash напрямую, потому что это не запускает другую оболочку входа в систему, и поэтому .bashrc полученкак и ожидалось.

1 голос
/ 10 июля 2019

Как и выше, если вы добавите следующую строку в .profile в вашем домашнем каталоге:

source ~/.bashrc

Как только вы сохраните его и создадите новый сеанс терминала, он автоматически получит ваш .bashrc сваши настройки псевдонима.

0 голосов
/ 09 июля 2019

Вы хотите, чтобы /bin/bash -l работал так, как если бы вы использовали оболочку входа в систему.См. INVOCATION раздел man bash для получения дополнительной информации.

...