Я использую iTerm в Mac OS X 10.6. Кажется, когда я открываю iTerm, ни .bashrc
ни .bash_profile
не поставляются. Я могу сказать, потому что псевдонимы, определенные в .bashrc
, не установлены. Как исправить?
12 ответов
В iTerm2 ни одно из этих решений не помогло мне. Я смог заставить его правильно читать мой файл .bashrc, добавив команду
source ~/.bashrc
в поле Отправить текст при запуске: в разделе «Настройки» /«Общие» для моего профиля iTerm.
Bash будет источником EITHER .bash_profile или .bashrc, в зависимости от того, как он называется. Если это оболочка входа в систему, Bash ищет ~/.bash_profile, ~/.bash_login или ~/.profile в указанном порядке и находит первый найденный файл (и только этот). Если это не оболочка входа в систему, но она интерактивная (как и большинство терминальных сессий), Bash получит ~/.bashrc.
Скорее всего, iTerm ищет ~/.bashrc. Если он настроен для запуска в качестве оболочки входа в систему, он будет искать ~/.bash_profile. Это почти наверняка ошибка в файле конфигурации, а не то, что оболочка не использует его.
Я бы поставил строку в начале каждого файла. В верхней части ~/.bash_profile:
export BASH_CONF="bash_profile"
И в верхней части ~/.bashrc:
export BASH_CONF="bashrc"
Затем откройте новый iTerm и введите
$ echo $BASH_CONF
Это должно подтвердить, что файл получен, и вы можете посмотреть синтаксис файла.
Мне просто интересно, вы действительно используете Bash? Может быть, вы можете использовать echo $SHELL
, вполне возможно, что вы используете zsh , вы установили на-my-zh?
На самом деле я сталкиваюсь с той же проблемой, что и вы, я исправляю ее, настраивая ~/.zshrc вместо этого либо ~/.bash_profile для оболочки входа в систему, либо ~/.bashrc для оболочки без входа в систему.
Может быть, вы можете попробовать
На моей машине 10.6 ~/.profile
. Таким образом, исходная запись source .bashrc
в ~/.profile
должна сделать эту работу.
Легко исправить.
1. Откройте файл ~/.zshrc
2. Добавьте следующую строку в конец файла.
source ~/.bash_profile
На моей машине 10.9 ~/.bash_profile поставлен. Поэтому исходная запись .bashrc в ~/.bash_profile должна сделать эту работу.
На 10.10 и iTerm2 2.0 настроенный профиль
- .bash_rc должен работать.
- .bash_profile, попробуйте "/bin/bash --login" вместо "/bin/bash"
Поместите определения псевдонимов в файл профиля bash, вам нужно создать файл, но он будет получен автоматически. Я создаю отдельный файл с именем alias.configuration и отправляю его в .bash_profile только потому, что у меня есть другой пользователь, и я хочу иметь такой же набор псевдонимов.
добавлять
set -x
в начало /etc/profile
. Это дает вам построчную учетную запись всего, что выполняется при запуске bash
, включая файлы из /etc/profile
, ~/.bash_profile
и т.д. Это немного пугает, если вы не очень разбираетесь в bash
скриптинге. хорошо, но вы можете увидеть, есть ли ошибка в файле запуска, и вывод будет полезен для тех, кто разбирается в bash
чтобы помочь вам найти вашу проблему.
Вы можете удалить строку set -x
когда закончите устранение неполадок.
Внесите следующее изменение, и iTerm будет источником bashrc
iTerm> Настройки> Общие> [x] Команда: /bin /bash
В iTerm2 убедитесь, что вы используете "оболочку входа" вместо пользовательской команды, включающей "вход", которая не выполняет то, что вы ожидаете.
Я объединил пару решений, чтобы работать так, как ожидалось.
.bash_profile
исходный код и запустить на Zsh.
Preferences -> Profiles -> General
.
Выберите команду под командой.
И добавьте в текстовое поле /bin/bash --login
.
Затем в .bash_profile добавьте строку /bin/zsh --login
Вот и все.