Quero instalar o rvm na minha máquina Snow Leopard.
Ele diz que preciso adicionar uma linha ao meu .bashrc
arquivo (estou usando o bash), mas onde está o meu .bashrc
arquivo?
Quero instalar o rvm na minha máquina Snow Leopard.
Ele diz que preciso adicionar uma linha ao meu .bashrc
arquivo (estou usando o bash), mas onde está o meu .bashrc
arquivo?
Respostas:
Em relação ao problema .bashrc
acima:
Na maioria dos sistemas, ~/.bashrc
é usado apenas ao iniciar um shell interativo sem logon . No entanto, quando você inicia um novo shell, geralmente é um shell de logon interativo . Como este é um shell de logon , o .bashrc
é ignorado. Para manter o ambiente consistente entre shells de não-login e de login, você deve originar o .bashrc
de seu .profile
ou de seu .bash_profile
.
Consulte o Manual de Referência do Bash, seção 6.2 Arquivos de Inicialização do Bash
Chamado como um shell de logon interativo ou com --login
Quando o Bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível.
Chamado como um shell interativo sem logon
Quando um shell interativo que não é um shell de login é iniciado, o Bash lê e executa comandos de ~ / .bashrc, se esse arquivo existir.
Então, normalmente, seu ~ / .bash_profile contém a linha
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
depois (ou antes) de qualquer inicialização específica de login.
No meu Mac (Running Leopard), não havia linha de origem ~/.bashrc
. Eu tive que adicionar essa funcionalidade por conta própria.
Em alguns sistemas e outros sistemas operacionais, .bashrc
é originário 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 de logon (que é .bash_profile
), não ao seu shell que não é de logon . Na realidade, isso geralmente não importa e colocar a configuração .bashrc
é aceitável.
Acontece que, no Mac OS X Snow Leopard e no Mac OS X Lion, o arquivo carregado é chamado .profile
, não .bashrc
.
O que você deseja fazer é criar um arquivo ~/.profile
e chamá-lo de .profile (se ele ainda não existir).
Coloque as informações necessárias para carregar com cada instância do bash (obrigado, o pixel roxo).
Algumas notas laterais:
-a
parâmetro como tal:ls -a
~
símbolo /Users/YourUserName
indica onde YourUserName é o apelido do seu nome de usuário.Edit: Chris Page observa (corretamente) que o que você colocar em um arquivo .profile será aplicado a qualquer shell que estiver usando (por exemplo, zhs, bash, etc.). Se você deseja que o conteúdo afete apenas o shell bash, coloque o conteúdo em um .bash_profile
arquivo em vez de em um .profile
arquivo.
.bash_profile
já existe em seu diretório pessoal, o .profile
arquivo não será lido!
Você tem que fazer o 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 desejado e salvá-lo em seu diretório pessoal ( /Users/YourUserName/
).
.bashrc
funcionará, mas somente se não houver .profile
. Eu acho que ~/.profile
existe por padrão, no entanto. Ainda bem que pude ajudar! (E você deve colocar sua solução em uma resposta e aceitá-la para futuros leitores desta pergunta).
Acho que no meu sistema operacional 10.6.5 as configurações do bash estão em "/ etc / bashrc". Eu acho que essas são as especificações de nível superior para o shell.
No entanto, você precisa de uma conta root para modificá-la. As especificações locais por usuário "~ / .bashrc" devem começar com o seguinte snippet, para ler e carregar as configurações do bash no nível do sistema:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Normalmente adiciono aliases no bashrc no nível do sistema para que todos os usuários possam acessá-los também. A menos que eles não desejem usar seus atalhos e aliases.
Boa sorte!
~/.bashrc
, não /etc/bashrc
. /etc/bashrc
são as configurações globais para todos os usuários do seu sistema, o que provavelmente não é o que você deseja. Além disso, a Apple pode aparecer e mudar /etc/bashrc
periodicamente, o que pode prejudicar suas personalizações.
Use o arquivo .profile para adicionar qualquer coisa que você adicionaria a um arquivo .bashrc do linux.
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"