Bash-Profil zwischen Computern synchronisieren

12

Ich habe jede Menge Zeug in meinem .bash_profile. Das Problem ist, dass ich sehr häufig ~ 3 Computer benutze und es leid bin, meine Einstellungen überall kopieren und einfügen zu müssen. Zwei von ihnen führen Ubuntu 10.10 und einer OSX aus. Ich habe mich gefragt, ob es eine Möglichkeit gibt, Dropbox zu verwenden, um eine einzelne Prefs-Datei freizugeben. Wenn die Bash beginnt, sagen Sie ihr, sie soll nachsehen ~/Dropbox/Bash/.bash_profile?

Könnte ich Emacs auch sagen, dass sie ~/Dropbox/Emacs/.emacsirgendwie reinschauen sollen?

Josh
quelle
2
Kluge Frage!
Msanford
Ich kann die (großartige) ausgewählte Antwort nicht kommentieren. Ich weiß nicht, ob dies etwas spezielles für osx / mac ist, aber ich musste einige Änderungen vornehmen, damit es funktioniert. DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' if [-f $ DROPBOX_PROFILE]; dann . $ DROPBOX_PROFILE fi Sollte DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" sein, wenn [-f $ DROPBOX_PROFILE]; dann . $ DROPBOX_PROFILE fi Hoffe das hilft.
Jason
Nur um es klarer zu machen: @ Jasons Optimierungen bestehen darin, die einfachen Anführungszeichen durch doppelte Anführungszeichen zu ersetzen und '~' durch '$ HOME' in der Definition von DROPBOX_PROFILE
sprugman

Antworten:

17

~ / .bash_profile

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

~ / .emacs

(load "~/Dropbox/Emacs/.emacs")
Andrejs Cainikovs
quelle
3
Ich persönlich bin der Meinung, dass dies sourcebesser lesbar (und besser lesbar) ist als der Punktoperator, aber es ist Ihre Antwort und ich werde es nicht bearbeiten. Ansonsten +1 für eine gute Antwort.
Hallo71
@ Hello71 Kannst du sourceetwas näher darauf eingehen . Ich bin fasziniert. Vielen Dank!
Joshua Pinter
@ Hello71 Ah, ich glaube ich weiß was du jetzt meinst. Und ich stimme vollkommen zu. Verwenden .ist viel kryptischer als Verwenden source.
Joshua Pinter
Wenn Sie ein Leerzeichen in Ihrem Pfad haben, z. B. wenn Sie eine geschäftliche Dropbox haben und Ihre persönliche verwenden möchten Dropbox (Personal), müssen Sie beispielsweise beim Verweisen auf die Variable doppelte Anführungszeichen verwenden , z "$DROPBOX_PROFILE".
Joshua Pinter
6

Wie wäre es damit, wenn keine speziellen Konfigurationsdateien für die Dropbox-Versionen vorhanden sind?

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

Rufen Sie in Ihrem regulären .bash_profile einfach ~ / Dropbox / Bash / .bash_profile auf.

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

Eigentlich möchten Sie die freigegebene Datei wahrscheinlich etwas anderes nennen oder zumindest nicht zu einer versteckten Datei machen.

Andrew Fleenor
quelle
3

Ich denke, dies würde das bekommen, was Sie wollen. Überprüfen Sie einfach, ob die Datei vorhanden ist. Wenn ja, geben Sie sie als Quelle an.

im $HOME/.bash_profile

[ -f $HOME/Dropbox/Bash/.bash_profile ] && source $HOME/Dropbox/Bash/.bash_profile
Reiche Homolka
quelle
1

Schauen Sie sich auch "homeboy" an, um Informationen zur allgemeinen Synchronisierung und Aktualisierung von Entwicklungsmaschinen zu erhalten: https://github.com/preston/homeboy

Preston Lee
quelle
0

Kommentar zu: /superuser//a/224204/401026 (Antwort von Andrejs Cainikovs)

Meine Änderungen für macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, Terminal Version 2.7.3 (388.1.1):
- Tilde ersetzt
- Einfache Anführungszeichen durch doppelte Anführungszeichen ersetzen

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

Entschuldigung: Ich konnte keine Kommentare schreiben, daher muss ich eine weitere Antwort hinzufügen

Tinu1976CH
quelle