Sincronizzazione del profilo bash tra computer


12

Ho tonnellate di roba nel mio .bash_profile. Il problema è che uso ~ 3 computer molto frequentemente e sono stanco di dover copiare e incollare le mie preferenze ovunque. Due di loro eseguono Ubuntu 10.10 e uno esegue OSX. Mi chiedevo se ci fosse un modo per usare Dropbox, per condividere un singolo file prefs. Tipo, quando inizia bash, digli di controllare ~/Dropbox/Bash/.bash_profile?

Anche se, potrei anche dire a Emacs di guardare in ~/Dropbox/Emacs/.emacsqualche modo?


2
Domanda intelligente!
msanford,

Non riesco a commentare la (fantastica) risposta selezionata. Non so se si tratta di qualcosa di specifico per osx / mac, ma ho bisogno di apportare un paio di modifiche affinché funzioni DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' if [-f $ DROPBOX_PROFILE]; poi . $ DROPBOX_PROFILE fi Dovrebbe essere DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" se [-f $ DROPBOX_PROFILE]; poi . $ DROPBOX_PROFILE fi Spero che sia d'aiuto.
Jason,

Giusto per chiarire: le modifiche di @ Jason sono di sostituire le virgolette singole con virgolette doppie e di sostituire "~" con "$ HOME" nella definizione di DROPBOX_PROFILE
sprugman,

Risposte:


17

~ / .Bash_profile

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

~ / .Emacs

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

3
Personalmente ritengo che sourcesia più leggibile (e googlabile) dell'operatore punto, ma è la tua risposta e quindi non la modificherò. A parte questo, +1 per una buona risposta.
Ciao,

@ Hello71 Puoi approfondire sourceun po '. Sono incuriosito. Grazie!
Joshua Pinter,

@ Hello71 Ah, penso di sapere cosa intendi ora. E sono completamente d'accordo. l'utilizzo .è molto più enigmatico dell'uso source.
Joshua Pinter,

Se hai uno spazio nel tuo percorso, come quando hai un Dropbox aziendale e vuoi usare quello personale, ad esempio Dropbox (Personal), dovrai usare le virgolette doppie quando fai riferimento alla variabile, come "$DROPBOX_PROFILE".
Joshua Pinter,

6

Che ne dici di questo, che evita di avere file di configurazione speciali che generano le versioni di Dropbox?

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

5

Nel tuo normale .bash_profile, chiama ~ / Dropbox / Bash / .bash_profile.

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

In realtà, probabilmente si desidera chiamare qualcos'altro il file condiviso, o almeno non renderlo un file nascosto.


3

Penso che questo otterrebbe quello che vuoi, basta controllare per vedere se il file esiste, in tal caso, sorgente.

nel $HOME/.bash_profile

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


0

commento a: /superuser//a/224204/401026 (Risposta di Andrejs Cainikovs)

le mie modifiche per macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, Versione terminale 2.7.3 (388.1.1):
- sostituito tilde
- sostituisci virgolette singole con virgolette doppie

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

scusa: non ho potuto scrivere commenti, quindi devo aggiungere un'altra risposta

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.