So teilen Sie .bashrc-Dateien zwischen zwei Mac-Benutzerkonten

11

Ich habe zwei Benutzeranmeldungen auf meinem Computer eingerichtet, eine für zu Hause und eine für die Arbeit. Ich möchte in der Lage sein, meine Bash- und Vim-Einstellungen zwischen den beiden Benutzern zu teilen. Gibt es sowieso etwas zu tun? Bisher habe ich sie von einem Konto in ein anderes kopiert, aber ich möchte nur eine Datei zwischen den beiden haben können, damit ich Änderungen nur an einer Stelle vornehmen kann. Ist das überhaupt möglich? Vielen Dank.

Reina Abolofia
quelle

Antworten:

11

Mit dem lnTool können Sie einen symbolischen Link erstellen :

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

In diesem Beispiel erstellen Sie einen neuen Link, um user2auf die vorhandene Datei im user1Verzeichnis zu verweisen . Möglicherweise müssen Sie verwenden, sudo ln ...wenn die Berechtigungen nicht richtig eingestellt sind.

MattDMo
quelle
5
In diesem Zusammenhang ist es wahrscheinlich besser, einen Hardlink zu erstellen. Wenn Sie also ein Benutzerkonto löschen, wird die .bashrc-Datei auch für das verbleibende Konto nicht gelöscht.
Gerry
-sln
Um
3
Tun Sie dies noch besser, aber legen Sie Ihren bashrc in einem freigegebenen Dropbox-Ordner ab, damit er auf jedem von Ihnen verwendeten Computer verfügbar ist und gesichert wird.
Dean
11

Es gibt viele Möglichkeiten, dies zu erreichen, aber die übliche Redewendung, die ich gesehen habe, besteht darin, eine einzelne Datei außerhalb des Basisordners jedes Benutzers zu installieren und beide ~ / .bashrc-Dateiquellen in der gemeinsamen Datei zu haben.

Dies ermöglicht Klarheit und das Potenzial, Änderungen auf Benutzerebene zu einem späteren Zeitpunkt vorzunehmen, verwaltet aber auch nur eine Datei, die überlebt, unabhängig davon, ob einer oder beide Benutzer zu einem späteren Zeitpunkt gelöscht werden.

Es ist ein wenig mehr Arbeit als das harte Verknüpfen der Datei, und meine Erfahrung mit der Verwendung von Softlinks für diese Art von Dingen besteht darin, sie zu vermeiden, da einige Tools Softlinks (oder Symlinks) nicht so gut verarbeiten, wie Sie vielleicht hoffen.

Es ist auch viel einfacher als die Code-Steuerung zum Bereitstellen von Dateien zu verwenden, aber dies ist auch eine großartige Möglichkeit, Änderungen zu verwalten, wenn Sie Git, Mercurial oder ein anderes Versionskontrollsystem einrichten möchten.

bmike
quelle
+1 für diese Lösung habe ich sie hier mit git implementiert - github.com/balupton/dotfiles - der große Vorteil, den ich gefunden habe, ist, dass ich meine benutzerdefinierte Konfiguration unabhängig vom Betriebssystem (osx, ubuntu, fedora) einfach installieren und verwenden kann usw.), da ich ihre maschinenspezifische Konfiguration wie gewohnt beibehalten kann, aber die Quelle in der gemeinsamen Konfiguration habe, die zwischen ihnen synchronisiert wird.
Balupton
8

Sie können die systemweite .bashrc-Datei bearbeiten, die sich in / etc / bashrc befindet.

Wenn Sie jedoch mit Git ein wenig vertraut sind, sollten Sie ein Repository für Ihre "Punktedateien" erstellen. Sie können dazu ein kostenloses Github-Repository verwenden. Das Verfolgen Ihrer Punktedateien auf diese Weise hat viele Vorteile:

  • Sie können aus einem der vielen verfügbaren öffentlichen Dotfiles-Repositorys herausarbeiten oder sich von diesen inspirieren lassen
  • Sie können die Punktedateien problemlos auf verschiedenen Benutzerkonten und sogar auf verschiedenen Computern installieren und aktualisieren
  • Sie erhalten eine Revisionskontrolle, die Sie auf lange Sicht vor einigen Problemen bewahren kann
Gerry
quelle
Auch die Installation gibt Ihnen die richtigen Berechtigungen
user151019
2

Wie andere angemerkt haben, können Sie dies mit einem Symlink tun. Es ist jedoch auch wichtig, die Berechtigungen entsprechend zu ändern, damit beide Benutzer auf die Datei zugreifen und sie bearbeiten können.

  1. Entfernen Sie alle vorhandenen .bashrcfür user2:

    rm /Users/user2/.bashrc
  2. Symlink user1's .bashrcauf user2' s Benutzerverzeichnis:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Ändern Sie die Berechtigungen so, dass beide Benutzer die Datei ändern können:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
Robmathers
quelle
0

Sei eins eine symbolische Verbindung zum anderen.

In terminal.app als user2 verwenden

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