Onde encontrar o arquivo .bashrc no Mac OS X Snow Leopard e Lion?

84

Eu quero instalar o rvm na minha máquina do Snow Leopard.

Ele diz que preciso adicionar uma linha ao meu arquivo .bashrc (estou usando o bash), mas onde está o meu arquivo .bashrc ?

    
por Yuval 30.05.2010 / 23:03

5 respostas

57

Por isso, no Mac OS X Snow Leopard e no Mac OS X Lion, o arquivo carregado é chamado .profile , não .bashrc .

O que você quer fazer é criar um arquivo em ~/.profile e chamá-lo .profile (se ainda não existir).

Coloque as informações necessárias para carregar com cada instância do bash (Obrigado, thepurplepixel).

Algumas notas secundárias:

  1. O período na frente do arquivo marca-o como invisível ao Finder e o comando ls por padrão. Para listar arquivos invisíveis usando o comando ls comando do Terminal, use o -a como um parâmetro como: ls -a
  2. O símbolo ~ significa /Users/YourUserName em que YourUserName é o nome curto do seu nome de usuário.

Editar: Chris Page observa (corretamente) que o que quer que você coloque em um arquivo .profile se aplicará a qualquer shell que você esteja usando (por exemplo, zhs, bash, et cetera). Se você quiser que o conteúdo afete apenas o shell bash, coloque o conteúdo em um arquivo .bash_profile em vez de um arquivo .profile .

    
por 21.12.2011 / 00:51
75

Em relação ao problema com .bashrc acima:

Na maioria dos sistemas, ~/.bashrc é usado apenas ao iniciar um shell não-login interativo . No entanto, quando você inicia um novo shell, ele geralmente é um shell login interativo . Como esse é um shell login , o .bashrc é ignorado. Para manter o ambiente consistente entre os shells de não login e login, você deve originar o .bashrc de seu .profile ou seu .bash_profile .

Veja o Manual de Referência do Bash, seção 6.2 Arquivos de Inicialização do Bash

Invoked as an interactive login shell, or with --login

When Bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable.

Invoked as an interactive non-login shell

When an interactive shell that is not a login shell is started, Bash reads and executes commands from ~/.bashrc, if that file exists.

So, typically, your ~/.bash_profile contains the line

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

after (or before) any login-specific initializations.

No meu Mac (Running Leopard), não havia linha para a origem ~/.bashrc . Eu tive que adicionar essa funcionalidade por conta própria.

Em alguns sistemas e outros sistemas operacionais, .bashrc é proveniente do global /etc/profile ou /etc/bash_profile ou é feito usando os arquivos de modelo de /etc/skel .

Para ser honesto, a distinção entre .bashrc e .bash_profile não é bem compreendida pela comunidade. Quando muitos desenvolvedores dizem "Adicione isso ao seu .bashrc", o que eles realmente querem dizer é "Adicione isso ao seu .bash_profile". Eles querem que a funcionalidade seja adicionada ao seu shell login (que é .bash_profile ), não ao seu shell não-login . Na realidade, isso geralmente não importa e colocar a configuração em .bashrc é aceitável.

    
por 01.06.2010 / 19:26
4

Você precisa criar seu próprio .bashrc . Você pode simplesmente usar um editor de texto para criar um arquivo chamado .bashrc (sem extensão) com o conteúdo que deseja e salvá-lo no seu diretório pessoal ( /Users/YourUserName/ ).

    
por 30.05.2010 / 23:05
3

Eu acho que no meu OS 10.6.5 as configurações do bash estão em "/ etc / bashrc". Eu acho que essa é a especificação de nível superior para o shell.

No entanto, você precisa de uma conta root para modificá-lo. As especificações locais por usuário "~ / .bashrc" devem começar com o seguinte snippet, para ler e carregar as configurações bash do nível de sistema:

if [ -r /etc/bashrc ]; then
    . /etc/bashrc 
fi

Eu normalmente adiciono aliases no nível do sistema bashrc para que todos os usuários possam acessá-los também. A menos que eles não queiram usar seus atalhos e aliases.

Boa sorte!

    
por 26.11.2010 / 09:02
1

Use o arquivo .profile para adicionar qualquer coisa que você adicionaria a um arquivo linux .bashrc.

Por exemplo

PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit" 
    
por 01.06.2010 / 20:18