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?


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")

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

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.


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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.