O Bash não está obtendo o ~ / .bash_profile no OSX

1

Acabei de ter esse problema muito estranho. Quando eu começo bash, eu recebo estas duas linhas:

-bash: fasd: kommandot finns inte
-bash: brew: kommandot finns inte

"kommandot finns inte" significa que o comando não existe em sueco (quanto mais você sabe!). Além disso, o meu prompt não é colorido e o que não é. A maior parte disso parece estar resolvida assim que digito

source ~/.bash/profile

Outra coisa estranha é que de repente não consigo cores com

ls -G

embora quando eu renomeio meu .bash_profile , isso vai embora (a coisa ls -G ).

Nada disso foi um problema há muito pouco tempo.

Os últimos dias eu configurei meus dotfiles. As principais coisas que fiz foram mover muitos deles ( ~/.bash_profile , ~/.bash_prompt , ~./aliases , etc.) para uma pasta dotfiles e criar uma ligação simbólica para eles na pasta inicial. Eu também instalei um monte de coisas com o homebrew. O repositório github dos meus dotfiles é aqui .

Estou muito confuso agora, a ajuda é muito apreciada!

    
por Mattias 11.08.2015 / 20:14

2 respostas

1

Eu sou burro ... O problema foi as exportações. Esqueci que mudei a definição de / usr / local / bin em PATH para ~ / .exports de / etc / paths. Tudo o que eu tinha que fazer era originar o ~ / .exports primeiro em ~ / .bash_profile.

O problema de cor do ls foi de utilitários GNU principais que eu instalei via homebrew. Aparentemente, ele não suporta a bandeira G, como o oss xs faz.

    
por 11.08.2015 / 23:16
0

Você deve ter .bash_profile e .bashrc , pelo menos, e pode ter .profile , .bash_aliases , .bash_logout e muitos, muitos outros arquivos em seu diretório inicial que afetam o bash. A estrutura exata de tais arquivos muda com o sistema operacional e personalização pelo usuário.

Para uma resposta completa, você precisa fornecer a saída completa de ls ~/.bash* e se ~/.profile ou ~/.environment existir, no mínimo.

Isso ajudará se você ler: Escolhendo , Diferença , Inicialização e especialmente Order . Isso esclarecerá a diferença em quais arquivos são carregados para um shell interativo, um shell de login e para scripts.

Depois disso, você precisa verificar se todos os links de arquivos relevantes estão em vigor.

E observe que um ~/.bash_login existente impedirá o carregamento de ~/.bash_profile , por exemplo.

Depois, para o seu SO específico (OS X), leia isto . Não é perfeito, mas mostra: como o usuário inseriu if [ -f ~/.bashrc ]; then . ~/.bashrc; fi no arquivo ~/.bash_profile para garantir que ~/.bashrc seja carregado.

Portanto: esta não é uma resposta simples, mas a configuração de inicialização do shell nunca é simples.
Olhe dentro dos arquivos para descobrir qual arquivo carrega o que.

    
por 11.08.2015 / 22:04