Cómo compartir archivos .bashrc entre dos cuentas de usuario de Mac

11

He configurado dos inicios de sesión de usuario en mi computadora, uno para el hogar y otro para el trabajo. Me gustaría poder compartir cualquiera de mis configuraciones de bash y vim entre los dos usuarios. ¿Hay alguna forma de hacer esto? Hasta ahora, los he copiado de una cuenta a otra, pero me gustaría poder tener un solo archivo entre los dos para poder hacer cambios en un solo lugar. ¿Es esto posible? Gracias.

Reina Abolofia
fuente

Respuestas:

11

Puede usar la lnherramienta para crear un enlace simbólico :

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

En este ejemplo, está creando un nuevo enlace para user2volver al archivo existente en user1el directorio de. Es posible que deba usarlo sudo ln ...si los permisos no están configurados correctamente.

MattDMo
fuente
55
En este contexto, probablemente sea mejor establecer un enlace duro, por lo que eliminar una cuenta de usuario no elimina el archivo .bashrc de la cuenta restante también.
Gerry
para hacer eso, simplemente omita la -sopción del lncomando
MattDMo
3
Aún mejor, haga esto, pero coloque su bashrc en una carpeta compartida de Dropbox para que esté disponible en cada máquina que use y esté respaldada.
Dean
11

Hay muchas formas de lograr esto, pero el idioma común que he visto es instalar un solo archivo fuera de la carpeta de inicio de cada usuario y tener ambos archivos ~ / .bashrc en el archivo común.

Esto permite claridad, potencial para realizar cambios a nivel de usuario en una fecha posterior, pero también mantener un archivo que sobrevivirá si uno o ambos usuarios se eliminan en una fecha posterior.

Es un poco más trabajo que vincular el archivo y mi experiencia en el uso de enlaces blandos para este tipo de cosas es evitarlos, ya que algunas herramientas no manejan enlaces blandos (o sim.) Tan bien como cabría esperar.

También es mucho más fácil que usar el control de código para implementar archivos, pero esa es también una excelente manera de administrar el cambio si va a configurar git o mercurial u otro sistema de control de versiones de todos modos.

bmike
fuente
+1 para esta solución, la he implementado con git aquí - github.com/balupton/dotfiles - el gran beneficio que he encontrado es que puedo instalar y usar fácilmente mi configuración personalizada independientemente del sistema operativo (osx, ubuntu, fedora , etc.) ya que puedo mantener la configuración específica de su máquina de la manera habitual, pero en la configuración común que se sincroniza entre ellos.
balupton
8

Puede editar el .bashrc en todo el sistema, que se encuentra en / etc / bashrc.

Sin embargo, si está un poco familiarizado con Git, debería considerar crear un repositorio para sus "archivos de puntos". Puede usar un repositorio gratuito de Github para hacerlo. El seguimiento de sus archivos de puntos de esta manera tiene muchas ventajas:

  • Puede bifurcar o extraer uno de los muchos repositorios públicos de archivos de puntos disponibles, o inspirarse en ellos
  • Puede instalar y actualizar fácilmente los archivos de puntos en diferentes cuentas de usuario e incluso en diferentes máquinas
  • Obtiene control de revisión, lo que podría salvarlo de algunos problemas a largo plazo
Gerry
fuente
Además, la instalación le otorga los permisos correctos
user151019
2

Como otros han señalado, puede hacer esto con un enlace simbólico, pero también es importante cambiar los permisos de manera adecuada para que ambos usuarios puedan acceder y editar el archivo.

  1. Eliminar cualquier existente .bashrcpara user2:

    rm /Users/user2/.bashrc
  2. Directorio user1de usuarios de enlace simbólico .bashrca user2:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Cambie los permisos para que ambos usuarios puedan modificar el archivo:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
ladrones
fuente
0

Que uno sea un enlace simbólico con el otro.

En terminal.app como usuario2 usa

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