iTerm / zsh не читає .bashrc АБО .bash_profile


39

У ~/.bash_profile мене є:

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

У ~/.bashrcмене є псевдоніми

Коли я завантажую нове вікно iTerm, псевдоніми не працюють. Якщо я джерело, ~/.bashrcвони працюють. Якщо я джерело, ~.bash_profileвони працюють.

Невже хоча б одне з них не повинно здійснюватися автоматично?

Що може спричинити його неправильну роботу?

Відповіді:


57

Відповідь проста, майже очевидна в питанні. Ось чому:

Оболонка 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.

Дякую. Зверніть увагу , що ls --colorдав мені illegal optionв обох bashі zshна OSX 10.10, але не на Linux - я буду дивитися на нього. Ура.
Бредлі Флуд

У мене немає Mac для тестування, але я думаю, що це стосується ls реалізації в OS X, я не думаю, що він має аргумент - -color. Якщо я пам’ятаю, я загляну.
projectdp

1
"... zsh має власні файли конфігурації запуску." це те, що він, ймовірно, просить? просто скажіть "чувак, це ~ / .zshrc".
eyurdakul

+1 чудових підказок у відповіді на macOS Каталіна зараз використовує zsh офіційно. Дякую.
therobyouknow

18

Якщо ви використовуєте zsh, тоді для примусового використання джерела .bash_profile

в ~/.zshrcдодати рядок нижче

source ~/.bash_profile

PS - Я не досліджував, чи може це спричинити якісь проблеми.


2
Я думаю, що ця відповідь буде корисною після випуску macOS 10.5 Catalina, щоб перенести bash_profile з bash в zsh.
Олексій

Швидко та ефективно!
Роберто Манфреда

0

Скопіюйте рядки з ~ / .bash_profile в ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

І відкрити нову вкладку / вікно терміналу або використовувати source ~/.zshrc

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.