49

Я использую iTerm в Mac OS X 10.6. Кажется, когда я открываю iTerm, ни .bashrc ни .bash_profile не поставляются. Я могу сказать, потому что псевдонимы, определенные в .bashrc , не установлены. Как исправить?

12 ответов12

61

В iTerm2 ни одно из этих решений не помогло мне. Я смог заставить его правильно читать мой файл .bashrc, добавив команду

source ~/.bashrc 

в поле Отправить текст при запуске: в разделе «Настройки» /«Общие» для моего профиля iTerm.

43

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

Это должно подтвердить, что файл получен, и вы можете посмотреть синтаксис файла.

20

Мне просто интересно, вы действительно используете Bash? Может быть, вы можете использовать echo $SHELL , вполне возможно, что вы используете zsh , вы установили на-my-zh?

На самом деле я сталкиваюсь с той же проблемой, что и вы, я исправляю ее, настраивая ~/.zshrc вместо этого либо ~/.bash_profile для оболочки входа в систему, либо ~/.bashrc для оболочки без входа в систему.

Может быть, вы можете попробовать

10

На моей машине 10.6 ~/.profile . Таким образом, исходная запись source .bashrc в ~/.profile должна сделать эту работу.

6

Легко исправить.

1. Откройте файл ~/.zshrc

2. Добавьте следующую строку в конец файла.

source ~/.bash_profile
4

На моей машине 10.9 ~/.bash_profile поставлен. Поэтому исходная запись .bashrc в ~/.bash_profile должна сделать эту работу.

1

На 10.10 и iTerm2 2.0 настроенный профиль

  • .bash_rc должен работать.
  • .bash_profile, попробуйте "/bin/bash --login" вместо "/bin/bash"
1

Поместите определения псевдонимов в файл профиля bash, вам нужно создать файл, но он будет получен автоматически. Я создаю отдельный файл с именем alias.configuration и отправляю его в .bash_profile только потому, что у меня есть другой пользователь, и я хочу иметь такой же набор псевдонимов.

0

добавлять

set -x

в начало /etc/profile . Это дает вам построчную учетную запись всего, что выполняется при запуске bash , включая файлы из /etc/profile , ~/.bash_profile и т.д. Это немного пугает, если вы не очень разбираетесь в bash скриптинге. хорошо, но вы можете увидеть, есть ли ошибка в файле запуска, и вывод будет полезен для тех, кто разбирается в bash чтобы помочь вам найти вашу проблему.

Вы можете удалить строку set -x когда закончите устранение неполадок.

0

Внесите следующее изменение, и iTerm будет источником bashrc

iTerm> Настройки> Общие> [x] Команда: /bin /bash

0

В iTerm2 убедитесь, что вы используете "оболочку входа" вместо пользовательской команды, включающей "вход", которая не выполняет то, что вы ожидаете.

-1

Я объединил пару решений, чтобы работать так, как ожидалось.

.bash_profile исходный код и запустить на Zsh.

Preferences -> Profiles -> General .

Выберите команду под командой.
И добавьте в текстовое поле /bin/bash --login .

Затем в .bash_profile добавьте строку /bin/zsh --login

Вот и все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .