Como compartilhar arquivos .bashrc entre duas contas de usuário mac

11

Configurei dois logins de usuário no meu computador, um para casa e outro para o trabalho. Gostaria de poder compartilhar qualquer uma das minhas configurações de bash e vim entre os dois usuários. Há alguma maneira de fazer isso? Até agora, eu os copio de uma conta para outra, mas gostaria de poder ter apenas um arquivo entre os dois para que eu possa fazer alterações em apenas um lugar. Isso é possível? Obrigado.

Reina Abolofia
fonte

Respostas:

11

Você pode usar a lnferramenta para criar um link simbólico :

ln -s /Users/user1/.bashrc /Users/user2/.bashrc

Neste exemplo, você está criando um novo link para user2apontar novamente para o arquivo existente no user1diretório 's. Pode ser necessário usar sudo ln ...se as permissões não estiverem definidas corretamente.

MattDMo
fonte
5
Nesse contexto, provavelmente é melhor fazer o link direto, portanto, excluir uma conta de usuário não exclui o arquivo .bashrc da conta restante também.
Gerry
para fazer isso, simplesmente omitir a -sopção para o lncomando
MattDMo
3
Melhor ainda, faça isso, mas coloque o bashrc em uma pasta compartilhada do Dropbox para que fique disponível em todas as máquinas que você usa e faça backup.
Dean
11

Existem várias maneiras de fazer isso, mas o idioma comum que eu vi é instalar um único arquivo fora da pasta inicial de cada usuário e ter a origem dos arquivos ~ / .bashrc no arquivo comum.

Isso permite clareza, potencial para fazer alterações no nível do usuário em uma data posterior, mas também mantém apenas um arquivo que sobreviverá se um ou ambos os usuários forem excluídos ou não em uma data posterior.

É um pouco mais trabalhoso do que vincular o arquivo com dificuldade e minha experiência no uso de links flexíveis para esse tipo de coisa é evitá-los, já que algumas ferramentas não lidam com links flexíveis (ou sym) tão bem quanto você pode esperar.

Também é muito mais fácil do que usar o controle de código para implantar arquivos, mas também é uma ótima maneira de gerenciar as alterações, caso você esteja configurando o git ou mercurial ou outro sistema de controle de versão.

bmike
fonte
+1 para esta solução, eu a implementei com o git aqui - github.com/balupton/dotfiles - o grande benefício que encontrei é que posso instalar e usar facilmente minha configuração personalizada, independentemente do sistema operacional (osx, ubuntu, fedora , etc), pois posso manter a configuração específica da máquina da mesma forma normal, mas a origem da configuração comum que é sincronizada entre eles.
balupton
8

Você pode editar o .bashrc em todo o sistema, localizado em / etc / bashrc.

Se você está um pouco familiarizado com o Git, considere criar um repositório para seus "arquivos de ponto". Você pode usar um repositório gratuito do Github para fazer isso. O rastreamento de seus arquivos de ponto de tal maneira tem muitas vantagens:

  • Você pode usar ou extrair de um dos muitos repositórios públicos de arquivos de pontos disponíveis ou se inspirar neles.
  • Você pode instalar e atualizar facilmente os arquivos de ponto em diferentes contas de usuário e até em máquinas diferentes
  • Você obtém controle de revisão, que pode evitar alguns problemas a longo prazo
Gerry
fonte
Além disso, a instalação fornece as permissões corretas
user151019
2

Como outros observaram, você pode fazer isso com um link simbólico, mas também é importante alterar as permissões adequadamente para que os dois usuários possam acessar e editar o arquivo.

  1. Remova qualquer existente .bashrcpara user2:

    rm /Users/user2/.bashrc
  2. Symlink user1's .bashrcpara user2diretório do usuário:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Altere as permissões para que os dois usuários possam modificar o arquivo:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
robmathers
fonte
0

Seja um link simbólico para o outro.

No terminal.app como usuário2, use

cd $HOME; ln -s ../user1/.bashrc
Thorbjørn Ravn Andersen
fonte