Respostas:
O Bash irá originar QUALQUER .bash_profile ou .bashrc, dependendo de como é chamado. Se for um shell de login, o Bash procurará ~ / .bash_profile, ~ / .bash_login ou ~ / .profile, nessa ordem, e fornecerá o primeiro que encontrar (e somente esse). Se não for um shell de login, mas for interativo (como a maioria das sessões de terminal), o Bash fornecerá ~ / .bashrc.
Provavelmente, o iTerm está procurando por ~ / .bashrc. Se estiver configurado para iniciar como um shell de login, ele procurará ~ / .bash_profile. É quase certamente um erro no arquivo de configuração, e não que o shell não o esteja fornecendo.
Eu colocaria uma linha no início de cada arquivo. No topo de ~ / .bash_profile:
export BASH_CONF="bash_profile"
E no topo de ~ / .bashrc:
export BASH_CONF="bashrc"
Em seguida, abra um novo iTerm e digite
$ echo $BASH_CONF
Isso deve confirmar que o arquivo está sendo originado e você pode verificar a sintaxe do arquivo.
No iTerm2, nenhuma dessas soluções funcionou para mim. Consegui fazê-lo ler corretamente meu arquivo .bashrc adicionando o comando
source ~/.bashrc
no campo Enviar texto no início: em Configurações / Geral para o meu perfil do iTerm.
~/.bashrc
. Editou.
Eu só me pergunto, você realmente usa o Bash? Pode ser que você possa usar echo $SHELL
, é bem possível que você esteja usando o zsh , você instalou o on-my-zh ?
De fato, encontro o mesmo problema que você, corrigi-o configurando ~ / .zshrc em vez de ~ / .bash_profile para shell de logon ou ~ / .bashrc para shell sem logon.
Talvez você possa tentar
Na minha máquina 10.6 ~/.profile
é originada. Portanto, uma source .bashrc
entrada ~/.profile
deve fazer o trabalho.
Correção fácil.
1. Abra seu ~/.zshrc
arquivo
2. Adicione a seguinte linha no final do arquivo.
source ~/.bash_profile
Coloque suas definições de alias no arquivo de perfil do bash, você precisa criar o arquivo, mas ele será originado automaticamente. Eu crio um arquivo separado chamado alias.configuration e o origino em .bash_profile apenas porque tenho outro usuário definido e quero ter o mesmo alias definido.
.bashrc
nem .bash_profile
são originados.
Adicionar, acrescentar
set -x
para o começo de /etc/profile
. Isto dá-lhe uma conta de linha por linha de tudo o que é executado quando bash
inicia, incluindo arquivos de origem a partir de dentro /etc/profile
, ~/.bash_profile
etc. É um pouco assustador se você não entender bash
scripting muito bem, mas você pode ser capaz de ver se há um erro em um arquivo de inicialização e a saída será útil para alguém com experiência em bash
ajudá-lo a localizar seu problema.
Você pode remover a set -x
linha quando terminar a solução de problemas.
No 10.10 e no iTerm2 2.0, perfil personalizado
Combinei algumas soluções para trabalhar como esperado.
.bash_profile
fonte e execute no zsh.
Preferences -> Profiles -> General
.
Selecione Comando em Comando.
E adicione na caixa de texto /bin/bash --login
.
Em seguida, em .bash_profile, adicione a linha
/bin/zsh --login
É isso aí.
bash
sempre correndo zsh
, não é isso que alguém espera.
source ~/.bash_profile
manualmente. @ Scott Depois de fazer as coisas acima, tenho o zsh da maneira necessária.
zsh
pode ser o que você deseja , mas não é exigido ou solicitado por esta pergunta, que está marcada como [bash] e não diz nada sobre zsh
. (2) Se você definir aliases e funções de shell e definir variáveis (sem exportá-las) em seu .bashrc
e / ou .bash_profile
, elas estarão disponíveis para você em seu zsh
shell?
~/.bash_profile
bash está sendo chamado primeiro, o que está causando um curto-circuito nas instruções que você possui~/.bashrc
. Esse problema pode ocorrer inesperadamente se um programa não autorizado adicionar algumas instruções ao seu~/.bash_profile
quando anteriormente o arquivo não existia e você tiver colocado todos os seus comandos bash~/.bashrc
. A solução é excluir seu ~ / .bash_profile ou ter ~ / .bash_profile na origem de seu ~ / .bashrc. Isso pode ser realizado adicionando o comando:source ~/.bashrc
ao final do seu~/.bash_profile
e reiniciando o terminal.