Ответы:
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
Это должно подтвердить, что файл получен, и вы можете посмотреть синтаксис файла.
В iTerm2 ни одно из этих решений не помогло мне. Я смог заставить его правильно читать мой файл .bashrc, добавив команду
source ~/.bashrc
в поле « Отправить текст при запуске» в разделе «Настройки» / «Общие» для моего профиля iTerm.
~/.bashrc
. Отредактировал это.
Мне просто интересно, вы действительно используете Bash? Может быть, вы можете использовать echo $SHELL
, вполне возможно, что вы используете Zsh , вы установили на-мой-ZH ?
На самом деле я сталкиваюсь с той же проблемой, что и вы, я исправляю ее, настраивая ~ / .zshrc вместо этого либо ~ / .bash_profile для оболочки входа в систему, либо ~ / .bashrc для оболочки без входа в систему.
Может быть, вы можете попробовать
На моей 10.6 машина поставлена ~/.profile
. Таким образом, source .bashrc
вход ~/.profile
должен сделать работу.
Легко исправить.
1. Откройте ваш ~/.zshrc
файл
2. Добавьте следующую строку в конец файла.
source ~/.bash_profile
Поместите определения псевдонимов в файл профиля bash, вам нужно создать файл, но он будет получен автоматически. Я создаю отдельный файл с именем alias.configuration и отправляю его в .bash_profile только потому, что у меня есть другой пользователь, и я хочу иметь такой же набор псевдонимов.
.bashrc
ни .bash_profile
источник.
Добавлять
set -x
к началу /etc/profile
. Это дает вам линию за линией счета все , что запускается на выполнение при bash
запуске, в том числе файлы получены из внутри /etc/profile
, ~/.bash_profile
и т.д. Это немного сложной , если вы не понимаете , bash
был очень хорошо, но вы можете быть в состоянии увидеть , если в загрузочном файле есть ошибка, и вывод будет полезен для тех, кто имеет опыт, bash
чтобы помочь вам определить вашу проблему.
Вы можете удалить set -x
строку, когда вы закончите устранение неполадок.
На 10.10 и iTerm2 2.0 настроенный профиль
Я объединил пару решений вместе, чтобы работать так, как ожидалось.
.bash_profile
исходник и запуск по зш.
Preferences -> Profiles -> General
,
Выберите команду под командой.
И добавьте в текстовое поле /bin/bash --login
.
Затем в .bash_profile добавить строку
/bin/zsh --login
Вот и все.
bash
всегда бегаете zsh
, это не то, чего кто-либо ожидает.
source ~/.bash_profile
вручную. @ Скотт После выполнения вышеперечисленных вещей у меня есть zsh требуемым образом.
zsh
может быть тем, что вы хотите , но это не требуется или не задается этим вопросом, который помечен как [bash] и ничего не говорит о нем zsh
. (2) Если вы определяете псевдонимы и функции оболочки и устанавливаете переменные (без их экспорта) в вашем .bashrc
и / или .bash_profile
они доступны вам в вашей zsh
оболочке?
~/.bash_profile
сначала вызывается bash, что приводит к короткому замыканию в ваших инструкциях~/.bashrc
. Эта проблема может возникнуть неожиданно, если мошенническая программа добавляет некоторые инструкции к вам,~/.bash_profile
когда ранее файл не существовал, и вы поместили все свои команды bash~/.bashrc
. Решение состоит в том, чтобы либо удалить ваш ~ / .bash_profile, либо получить ~ / .bash_profile исходный текст для ~ / .bashrc. Это можно сделать, добавив команду:source ~/.bashrc
в конец вашего~/.bash_profile
и перезагрузив терминал.