Mac OS X .bashrc não funciona

61

Eu tenho um arquivo .bashrc de uma linha no meu diretório pessoal:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

Mas não está criando o alias. Por que isso pode ser?

    
por William Jockusch 12.02.2011 / 14:58

5 respostas

74

No OSX, .bash_profile é usado em vez de .bashrc .

E sim, o arquivo .bash_profile deve estar localizado em /Users/YourName/
(Em outras palavras, ~/.bash_profile )

Por exemplo, /Users/Aaron/.bash_profile

    
por 12.02.2011 / 15:04
73

.[bash_]profile e .bashrc podem ser usados no OS X e no Linux. O primeiro é carregado quando o shell é um shell de login; o último quando não é. A verdadeira diferença é que o Linux executa um shell de login quando o usuário efetua login em uma sessão gráfica e, quando você abre um aplicativo de terminal, esses shells não são shells de login; enquanto o OS X não executa um shell no login gráfico, e quando você executa um shell a partir do Terminal.app, isso é um shell de login.

Se você quiser que seus aliases funcionem em shells de login e não-login (e você geralmente usa), você deve colocá-los em .bashrc e source .bashrc em seu .bash_profile, com um linha como esta:

[ -r ~/.bashrc ] && source ~/.bashrc

Isso se aplica a qualquer sistema usando o bash.

    
por 12.02.2011 / 16:48
7

Ou crie um link sym chamado .bash_profile apontado para o seu .bashrc

ln -s .bashrc .bash_profile
    
por 29.06.2011 / 14:48
2

Não está sendo colocado em alias porque .bash_profile é usado em vez de .bashrc no Mac OS X.

Então você tem duas opções:

  • Coloque o alias no seu ~/.bash_profile

  • Ou forneça seu .bashrc de seu .bash_profile adicionando esta linha ao .bash_profile :

    . ~/.bashrc

por 12.02.2011 / 16:27
1

No Mac OS X Yosemite , execute o seguinte comando:

vi ~/.profile

Em seguida, adicione a seguinte linha:

source ~/.bashrc

Agora salve e feche .profile , abra uma nova janela do Terminal ou apenas execute:

source ~/.profile

Veja também esta resposta . Funcionou na v10.10.3.

    
por 05.05.2015 / 02:55