O iTerm / zsh não está lendo .bashrc OU .bash_profile


39

Em ~/.bash_profile eu tenho:

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

Em ~/.bashrceu tenho alguns apelidos

Quando carrego uma nova janela do iTerm, meus aliases não funcionam. Se eu fonte ~/.bashrceles trabalham. Se eu fonte ~.bash_profileeles trabalham.

Pelo menos um desses itens não deve ser fornecido automaticamente?

O que pode estar fazendo com que não funcione corretamente?

Respostas:


56

A resposta é simples, quase evidente na pergunta. Aqui está o porquê:

O shell zshnão é bash, é um shell diferente. zshnão usará os arquivos padrão criados para bash: .bashrcou .bash_profile. Esses dois arquivos são arquivos de configuração de inicialização para bash. zshpossui seus próprios arquivos de configuração de inicialização.

Você pode descobrir mais sobre eles aqui na zsh página de introdução :

Existem cinco arquivos de inicialização dos quais o zsh lerá comandos:

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

Você mencionou que seus aliases não funcionam. Para corrigir isso, aplique seus aliases aqui da seguinte maneira:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.

Obrigado. Note que ls --colorme deu illegal optiontanto bashe zshno OSX 10.10, mas não em Linux - Eu vou olhar para ele. Felicidades.
Bradley Flood

Não tenho um Mac para testar, mas acho que isso tem a ver com a implementação ls no OS X, não acho que tenha o argumento - -color. Se me lembro, vou procurar.
Projectdp

1
"... zsh possui seus próprios arquivos de configuração de inicialização." isso é o que ele provavelmente pede, hein? apenas diga "cara, é ~ / .zshrc".
eyurdakul

+1 ótimas dicas na resposta para o macOS Catalina agora usando o zsh oficialmente. Obrigado.
therobyouknow 13/11

18

Se você estiver usando zsh, para forçar a fonte .bash_profile

em ~/.zshrcadicionar a linha abaixo

source ~/.bash_profile

PS - Não investiguei se isso pode causar algum problema.


2
Eu acho que essa resposta seria útil após o lançamento do macOS 10.5 Catalina para portar o bash_profile do bash para o zsh.
Oleksii Kyslytsyn 29/09

Rápido e eficaz!
Roberto Manfreda 14/10

0

Copie as linhas de ~ / .bash_profile para ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

E abra uma nova guia / janela do terminal ou use source ~/.zshrc

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.