Как обмениваться файлами .bashrc между двумя учетными записями пользователей Mac

11

Я настроил два пользовательских логина на моем компьютере, один для дома и один для работы. Я хотел бы иметь возможность поделиться любыми настройками bash и vim между двумя пользователями. Есть какой-либо способ сделать это? До сих пор я копировал их из одной учетной записи в другую, но я хотел бы иметь возможность иметь один файл между ними, чтобы я мог вносить изменения только в одном месте. Это вообще возможно? Спасибо.

Рейна Аболофия
источник

Ответы:

11

Вы можете использовать lnинструмент для создания символической ссылки :

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

В этом примере вы создаете новую ссылку для user2указания на существующий файл в user1каталоге. Возможно, вам придется использовать, sudo ln ...если разрешения не установлены правильно.

MattDMo
источник
5
В этом контексте, вероятно, лучше использовать жесткую ссылку, поэтому удаление одной учетной записи пользователя не удалит файл .bashrc и для оставшейся учетной записи.
Джерри
чтобы сделать это, просто опустить -sопцию в lnкоманде
MattDMo
3
Более того, сделайте это, но поместите ваш bashrc в общую папку Dropbox, чтобы он был доступен на каждой машине, которую вы используете, и для нее выполнялось резервное копирование.
Дин
11

Есть много способов сделать это, но общая идиома, которую я видел, состоит в том, чтобы установить один файл вне домашней папки каждого пользователя и иметь оба файла ~ / .bashrc в общем файле.

Это обеспечивает ясность, возможность вносить изменения на уровне пользователя на более позднем этапе, а также поддерживать только один файл, который сохранится независимо от того, будет ли удален один или оба пользователя на более позднем этапе.

Это немного больше, чем жесткая компоновка файла, и мой опыт использования программных ссылок для такого рода вещей заключается в том, чтобы избежать их, поскольку некоторые инструменты не обрабатывают мягкие (или sym) ссылки, как вы можете надеяться.

Это также намного проще, чем использование контроля кода для развертывания файлов, но это также отличный способ управлять изменениями, если вы собираетесь настроить git, mercurial или другую систему контроля версий.

bmike
источник
+1 для этого решения, я реализовал его с помощью git здесь - github.com/balupton/dotfiles - большое преимущество, которое я обнаружил, заключается в том, что я могу легко устанавливать и использовать свою пользовательскую конфигурацию независимо от ОС (osx, ubuntu, fedora и т. д.), поскольку я могу поддерживать их специфическую конфигурацию компьютера, как обычно, но источник в общей конфигурации, которая синхронизируется между ними.
Балуптон
8

Вы можете редактировать общесистемный .bashrc, который находится в / etc / bashrc.

Однако, если вы немного знакомы с Git, вам следует подумать о создании репозитория для ваших «точечных файлов». Для этого вы можете использовать бесплатный репозиторий Github. Отслеживание ваших точечных файлов таким способом имеет много преимуществ:

  • Вы можете разветвляться или извлекать из одного из множества общедоступных репозиториев dotfiles или черпать вдохновение из них
  • Вы можете легко устанавливать и обновлять точечные файлы для разных учетных записей пользователей и даже для разных компьютеров.
  • Вы получаете контроль версий, который может избавить вас от некоторых неприятностей в долгосрочной перспективе
Gerry
источник
Также установка дает вам правильные разрешения
user151019
2

Как уже отмечали другие, вы можете сделать это с помощью символической ссылки, но также важно соответствующим образом изменить разрешения, чтобы оба пользователя могли получить доступ и редактировать файл.

  1. Удалить все существующие .bashrcдля user2:

    rm /Users/user2/.bashrc
  2. Symlink user1's .bashrcв user2каталог' s пользователя:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Измените разрешения, чтобы оба пользователя могли изменить файл:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
robmathers
источник
0

Пусть одно будет символической ссылкой на другое.

В Terminal.app в качестве user2 используйте

cd $HOME; ln -s ../user1/.bashrc
Турбьерн Равн Андерсен
источник