Comment partager des fichiers .bashrc entre deux comptes d'utilisateurs Mac

11

J'ai configuré deux connexions utilisateur sur mon ordinateur, une pour la maison et une pour le travail. Je voudrais pouvoir partager n'importe lequel de mes paramètres bash et vim entre les deux utilisateurs. Y a-t-il un moyen de faire ça? Jusqu'à présent, je les ai copiés d'un compte à un autre, mais j'aimerais pouvoir avoir un seul fichier entre les deux afin de pouvoir apporter des modifications à un seul endroit. Est-ce seulement possible? Merci.

Reina Abolofia
la source

Réponses:

11

Vous pouvez utiliser l' lnoutil pour créer un lien symbolique :

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

Dans cet exemple, vous créez un nouveau lien pour user2pointer vers le fichier existant dans user1le répertoire de. Vous devrez peut-être utiliser sudo ln ...si les autorisations ne sont pas définies correctement.

MattDMo
la source
5
Dans ce contexte, il est probablement préférable de créer un lien physique, donc la suppression d'un compte d'utilisateur ne supprime pas également le fichier .bashrc pour le compte restant.
Gerry
pour ce faire, omettez simplement l' -soption de la lncommande
MattDMo
3
Encore mieux, faites cela, mais placez votre bashrc dans un dossier Dropbox partagé afin qu'il soit disponible sur chaque machine que vous utilisez et qu'il soit sauvegardé.
Dean
11

Il existe de nombreuses façons d'accomplir cela, mais l'idiome commun que j'ai vu consiste à installer un seul fichier en dehors du dossier de base de chaque utilisateur et à avoir les deux sources de fichiers ~ / .bashrc dans le fichier commun.

Cela permet la clarté, la possibilité d'apporter des modifications au niveau de l'utilisateur à une date ultérieure, mais également de ne conserver qu'un seul fichier qui survivra, que l'un des utilisateurs ou les deux soient supprimés à une date ultérieure.

C'est un peu plus de travail que de lier dur le fichier et mon expérience dans l'utilisation de liens logiciels pour ce genre de chose est de les éviter car certains outils ne gèrent pas les liens logiciels (ou sym) aussi bien que vous pouvez l'espérer.

C'est également beaucoup plus facile que d'utiliser le contrôle de code pour déployer des fichiers, mais c'est également un excellent moyen de gérer les modifications si vous allez configurer git ou mercurial ou un autre système de contrôle de version de toute façon.

bmike
la source
+1 pour cette solution, je l'ai implémentée avec git ici - github.com/balupton/dotfiles - le gros avantage que j'ai trouvé est que je peux facilement installer et utiliser ma configuration personnalisée quel que soit le système d'exploitation (osx, ubuntu, fedora , etc.) car je peux maintenir leur configuration spécifique à la machine comme d'habitude mais source dans la configuration commune qui se synchronise entre eux.
balupton
8

Vous pouvez modifier le .bashrc à l'échelle du système, qui se trouve dans / etc / bashrc.

Cependant, si vous êtes un peu familier avec Git, vous devriez envisager de créer un référentiel pour vos "dotfiles". Pour ce faire, vous pouvez utiliser un référentiel Github gratuit. Le suivi de vos fichiers dot de cette manière présente de nombreux avantages:

  • Vous pouvez dériver ou extraire l' un des nombreux référentiels publics de fichiers dot disponibles, ou vous en inspirer
  • Vous pouvez facilement installer et mettre à jour les fichiers dot sur différents comptes d'utilisateurs et même sur différentes machines
  • Vous bénéficiez d'un contrôle des révisions, ce qui peut vous éviter de rencontrer des problèmes à long terme
Gerry
la source
De plus, l'installation vous donne les autorisations appropriées
user151019
2

Comme d'autres l'ont noté, vous pouvez le faire avec un lien symbolique, mais il est également important de modifier les autorisations de manière appropriée afin que les deux utilisateurs puissent accéder et modifier le fichier.

  1. Supprimez tout existant .bashrcpour user2:

    rm /Users/user2/.bashrc
  2. Répertoire utilisateur user1de Symlink .bashrcvers user2:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Modifiez les autorisations afin que les deux utilisateurs puissent modifier le fichier:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
robmathers
la source
0

Que l'un soit un lien symbolique avec l'autre.

Dans terminal.app en tant qu'utilisateur user2

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