Sincronizando perfil bash entre computadores


12

Eu tenho toneladas de coisas no meu .bash_profile. O problema é que eu uso ~ 3 computadores com muita frequência e estou cansado de copiar e colar meus prefs em todos os lugares. Dois deles rodam o Ubuntu 10.10 e o outro OSX. Fiquei me perguntando se havia uma maneira de usar o Dropbox, para compartilhar um único arquivo prefs. Tipo, quando o bash começa, diga para verificar ~/Dropbox/Bash/.bash_profile?

Embora, eu também poderia dizer ao emacs para procurar de ~/Dropbox/Emacs/.emacsalguma forma?


2
Pergunta inteligente!
msanford

Não consigo comentar a (ótima) resposta selecionada. Eu não sei se isso é algo específico para osx / mac, mas eu precisei fazer algumas alterações para que funcione DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' if [-f $ DROPBOX_PROFILE]; então . $ DROPBOX_PROFILE fi Deverá ser DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" se [-f $ DROPBOX_PROFILE]; então . $ DROPBOX_PROFILE fi Espero que ajude.
Jason

Apenas para esclarecer: os ajustes de @ Jason são substituir aspas simples por aspas duplas e substituir '~' por '$ HOME' na definição de DROPBOX_PROFILE
sprugman

Respostas:


17

~ / .bash_profile

DROPBOX_PROFILE='~/Dropbox/Bash/.bash_profile'
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

~ / .emacs

(load "~/Dropbox/Emacs/.emacs")

3
Pessoalmente, acho que sourceé mais legível (e googlable) do que o operador de ponto, mas é a sua resposta e, portanto, não a editarei. Fora isso, +1 para obter uma boa resposta.
Hello71

@ Hello71 Você pode elaborar sourceum pouco. Estou intrigado. Obrigado!
Joshua Pinter

@ Hello71 Ah, acho que sei o que você quer dizer agora. E eu concordo completamente. usar .é muito mais enigmático do que usar source.
Joshua Pinter

Se você tiver um espaço no seu caminho, como quando você tem um Dropbox comercial e deseja usar o seu pessoal, por exemplo Dropbox (Personal), precisará usar aspas duplas ao referenciar a variável, como "$DROPBOX_PROFILE".
Joshua Pinter

6

Que tal isso, que evita ter arquivos de configuração especiais que originam as versões do Dropbox?

$ ln -s ~/Dropbox/Bash/.bash_profile ~/.bash_profile
$ ln -s ~/Dropbox/Emacs/.emacs ~/.emacs

5

No seu .bash_profile normal, basta chamar ~ / Dropbox / Bash / .bash_profile.

#.bash_profile
. ~/Dropbox/Bash/.bash_profile # the '.' command runs a file.

Na verdade, você provavelmente deseja chamar o arquivo compartilhado de outra forma ou, pelo menos, não torná-lo um arquivo oculto.


3

Eu acho que isso conseguiria o que você deseja, basta verificar se o arquivo existe, se houver, forneça-o.

no $HOME/.bash_profile

[ -f $HOME/Dropbox/Bash/.bash_profile ] && source $HOME/Dropbox/Bash/.bash_profile


0

comentário para: /superuser//a/224204/401026 (resposta de Andrejs Cainikovs)

minhas alterações para o macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, versão do terminal 2.7.3 (388.1.1):
- til substituído
- substituir aspas simples por aspas duplas

DROPBOX_PROFILE="/Users/xxx/Dropbox/Bash/.bash_profile"
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

desculpe: não consegui escrever comentários, então tenho que adicionar outra resposta

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.