Não vejo .bashrc no meu diretório inicial, mas quero fazer uma mudança permanente no meu caminho

2

Estou tentando adicionar um local à minha variável $ PATH em um Mac com o OS X. Estou seguindo este tutorial, que diz para editar o arquivo .bashrc. Eu não vejo este arquivo no diretório inicial mesmo quando eu faço

cd ~/ 
ls -A 

Posso simplesmente ir em frente e criar esse arquivo? Ou estou faltando alguma coisa?

    
por bernie2436 23.10.2013 / 22:32

5 respostas

6

Se o arquivo realmente não existir e você estiver realmente executando o Bash, provavelmente poderá encontrar uma cópia de trabalho para começar (ele tem muitos exemplos de uso comum nos comentários) em /etc/skel/.bashrc . Esse é o .bashrc que é adicionado ao diretório inicial de cada novo usuário por padrão. Pelo menos é assim que acontece na maioria das distribuições GNU / Linux.

É importante ter certeza de que você está executando o Bash primeiro, porque se você estiver executando algum outro shell, ele não lerá nenhum arquivo .bashrc que você criar ou copiar.

Descubra o shell padrão da sua conta de usuário em:

getent passwd $(whoami) | awk -F: '{print $NF}'

Descubra o shell em execução no momento em:

ps -p $$ -o cmd=

Atualizações

  • No Mac OS X, você não encontrará /etc/skel , em vez disso, deve procurar em /System/Library/User\ Template/English.lproj/ conforme explicado neste SU Q & A

  • Uma pesquisa solicitada por sua outra pergunta revela que getent na verdade não está disponível no Mac OS X. Meu mal por sugerir isso. Eu realmente acho que você deveria ter colocado isso em um comentário sobre a resposta, em vez de começar uma nova pergunta, no entanto.

por 24.10.2013 / 02:24
2

Você pode fazer isso:

echo 'export PATH=$PATH:/path/to/whatever' >> ~/.bashrc

Isso adicionará a linha export PATH=$PATH:/path/to/whatever ao final do arquivo ~/.bashrc , se existir, ou criará o arquivo e gravará a linha se o arquivo não existir.

Se você não tiver certeza sobre o arquivo existente, essa é uma maneira segura de gravar (ou criar) o arquivo.

Você também pode usar a expressão if [ -f $PATH_TO_FILE ] ; then $DO_SOMETHING ; fi para operar condicionalmente em um arquivo, se existir.

De qualquer forma, sim, é seguro criar o arquivo - e simplesmente usar echo com o operador de redirecionamento de anexar ao arquivo é uma maneira fácil e segura de fazer o que você deseja. Não há necessidade de um editor de texto ou qualquer coisa.

Você pode verificar se funciona:

cat ~/.bashrc

Isso deve imprimir o arquivo bashrc.

Agora você pode aplicar isso à sua sessão atual (sem ter que abrir uma nova janela de terminal) e verificar se o PATH está sendo definido corretamente da seguinte forma:

source ~/.bashrc && echo $PATH

    
por 24.10.2013 / 09:15
0

Qualquer editor razoável criará o arquivo que você tenta escrever se ele não existir. Daí correr

your_favourite_editor ~/.bashrc

abrirá o arquivo existente ou um vazio. Depois de salvá-lo, o arquivo será sobrescrito (existiu) ou criado (se não existir). Isso nem é específico do UNIX (isto é, funciona no Windows também).

É seguro criar o arquivo se ele não existir - consulte a seção INVOCATION da página bash(1) man. Você pode querer source ~/.bash_profile como a primeira coisa lá (se você tiver esse arquivo, é claro).

    
por 23.10.2013 / 23:01
0

Você pode seguir estas etapas:

  1. echo "PATH=$PATH:/path/to/whatever" >> ~/.bashrc && source ~/.bashrc

agora você pode abrir o bashrc com o gedit

  1. gedit .bashrc

Você também pode editar o nome de usuário root. Espero que isso ajude.

    
por 15.11.2016 / 13:58
0

Além disso, Se você decidir usar os dois ~/.bashrc & ~/.bash_profile certifique-se de não configurar um loop recursivo, fornecendo um após o outro. Ou seja, chamar o ~/.bash_profile do script ~/.bashrc fará um loop contínuo e criará um novo shell cada vez que ele for iniciado, preenchendo o espaço " /tmp & swap ". Se você é o usuário "root", isso pode travar a caixa se você permitir que ela seja executada por tempo suficiente.

    
por 15.11.2016 / 14:24

Tags