iTerm / zsh не читает .bashrc ИЛИ .bash_profile

23

У ~/.bash_profile меня есть:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

У ~/.bashrcменя есть некоторые псевдонимы

Когда я загружаю новое окно iTerm, мои псевдонимы не работают. Если я получу источник, ~/.bashrcони будут работать. Если я получу источник, ~.bash_profileони будут работать.

Разве по крайней мере один из них не должен быть получен автоматически?

Что может быть причиной его неправильной работы?

Damon
источник

Ответы:

42

Ответ прост, почти очевиден в вопросе. Вот почему:

Оболочки zshнет bash, это другая оболочка. zshне будет использовать файлы по умолчанию, созданные для bash: .bashrcили .bash_profile. Эти два файла являются файлами конфигурации запуска для bash. zshимеет свои собственные файлы конфигурации запуска.

Вы можете узнать больше о них здесь на zsh вступительной странице :

Существует пять файлов запуска, из которых zsh будет читать команды:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout

Вы упоминали, что ваши псевдонимы не работают, чтобы исправить это, примените ваши псевдонимы вот так:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.
projectdp
источник
Спасибо. Обратите внимание , что ls --colorдал мне illegal optionв обоих bashи zshна OSX 10.10, но не на Linux - я буду смотреть на него. Приветствия.
Брэдли Флуд
У меня нет Mac для тестирования, но я думаю, что это связано с реализацией ls в OS X, я не думаю, что он имеет аргумент - -color. Если я помню, я посмотрю.
projectdp
"... у zsh есть собственные файлы конфигурации запуска." это то, что он, вероятно, просит, да? просто скажи "чувак, это ~ / .zshrc".
эюрдакул
2

Если вы используете zsh, чтобы заставить источник .bash_profile

в ~/.zshrcдобавить строку ниже

source ~/.bash_profile

PS - Я не исследовал, может ли это вызвать какие-либо проблемы.

Алок Суэйн
источник