Jak udostępniać pliki .bashrc między dwoma kontami użytkowników Mac

11

Na moim komputerze skonfigurowałem dwa loginy użytkownika, jeden do domu i jeden do pracy. Chciałbym móc udostępniać dowolne ustawienia bash i vim między dwoma użytkownikami. Czy jest coś takiego? Do tej pory kopiowałem je z jednego konta na drugie, ale chciałbym mieć tylko jeden plik między nimi, aby móc wprowadzać zmiany tylko w jednym miejscu. Czy to w ogóle możliwe? Dzięki.

Reina Abolofia
źródło

Odpowiedzi:

11

Możesz użyć tego lnnarzędzia do utworzenia dowiązania symbolicznego :

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

W tym przykładzie tworzysz nowy link, który user2wskazuje na istniejący plik w user1katalogu. Może być konieczne użycie, sudo ln ...jeśli uprawnienia nie są ustawione poprawnie.

MattDMo
źródło
5
W tym kontekście prawdopodobnie lepiej jest utworzyć stałe łącze, więc usunięcie jednego konta użytkownika nie powoduje usunięcia pliku .bashrc również z pozostałego konta.
Gerry,
aby to zrobić, po prostu pomiń -sopcję lnpolecenia
MattDMo,
3
Co więcej, zrób to, ale umieść bashrc we współdzielonym folderze Dropbox, aby był dostępny na każdym komputerze i korzystał z kopii zapasowej.
Dean
11

Jest wiele sposobów na osiągnięcie tego, ale wspólny idiom, jaki widziałem, to instalowanie jednego pliku poza folderem domowym każdego użytkownika i posiadanie obu plików ~ / .bashrc we wspólnym pliku.

Zapewnia to jasność, możliwość wprowadzania zmian na poziomie użytkownika w późniejszym terminie, ale także utrzymuje tylko jeden plik, który przetrwa, niezależnie od tego, czy jeden lub obaj użytkownicy zostaną usunięci w późniejszym terminie.

To trochę więcej pracy niż ciężkie łączenie pliku, a moim doświadczeniem w korzystaniu z miękkich linków do tego rodzaju rzeczy jest ich unikanie, ponieważ niektóre narzędzia nie obsługują miękkich (lub sym) linków tak dobrze, jak można się spodziewać.

Jest to również znacznie łatwiejsze niż użycie kontroli kodu do wdrażania plików, ale jest to również świetny sposób na zarządzanie zmianami, jeśli zamierzasz skonfigurować git, mercurial lub inny system kontroli wersji.

bmike
źródło
+1 dla tego rozwiązania, zaimplementowałem go tutaj z git - github.com/balupton/dotfiles - dużą zaletą, którą znalazłem, jest to, że mogę łatwo zainstalować i używać mojej niestandardowej konfiguracji niezależnie od systemu operacyjnego (osx, ubuntu, fedora itp.), ponieważ mogę zachować konfigurację specyficzną dla maszyny, tak jak normalną, ale źródłową we wspólnej konfiguracji, która synchronizuje się między nimi.
balupton
8

Możesz edytować ogólnosystemowy plik .bashrc, który znajduje się w / etc / bashrc.

Jeśli jednak znasz Git, powinieneś rozważyć utworzenie repozytorium dla swoich „plików dot”. W tym celu możesz użyć bezpłatnego repozytorium Github. Śledzenie plików dotf w taki sposób ma wiele zalet:

  • Możesz rozwidlać lub pobierać z jednego z wielu dostępnych publicznych repozytoriów dotfiles lub czerpać z nich inspirację
  • Możesz łatwo zainstalować i zaktualizować pliki kropkowe na różnych kontach użytkowników, a nawet na różnych komputerach
  • Otrzymujesz kontrolę wersji, która na dłuższą metę może uchronić Cię przed niektórymi problemami
Gerry
źródło
Również instalacja daje prawidłowe uprawnienia
użytkownik151019,
2

Jak zauważyli inni, możesz to zrobić za pomocą dowiązania symbolicznego, ale ważne jest również, aby odpowiednio zmienić uprawnienia, aby umożliwić obu użytkownikom dostęp do pliku i jego edycję.

  1. Usuń wszelkie istniejące .bashrcdla user2:

    rm /Users/user2/.bashrc
  2. Symlink user1's .bashrcdo user2katalogu' s użytkownika:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Zmień uprawnienia, aby obaj użytkownicy mogli modyfikować plik:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
robmathers
źródło
0

Niech jedno będzie dowiązaniem symbolicznym do drugiego.

W terminal.app jako use2

cd $HOME; ln -s ../user1/.bashrc
Thorbjørn Ravn Andersen
źródło