Sincronizar el perfil de bash entre computadoras


12

Tengo toneladas de cosas en mi .bash_profile. El problema es que uso ~ 3 computadoras con mucha frecuencia, y estoy cansado de tener que copiar y pegar mis preferencias en todas partes. Dos de ellos ejecutan Ubuntu 10.10, y uno ejecuta OSX. Me preguntaba si había una manera de usar Dropbox, para compartir un solo archivo de preferencias. Como, cuando comienza bash, dile que compruebe ~/Dropbox/Bash/.bash_profile?

Sin embargo, ¿podría decirle a emacs que busque de ~/Dropbox/Emacs/.emacsalguna manera?


2
¡Pregunta inteligente!
msanford

Parece que no puedo comentar sobre la (excelente) respuesta seleccionada. No sé si esto es algo específico de osx / mac, pero necesitaba hacer un par de cambios para que funcione DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' if [-f $ DROPBOX_PROFILE]; luego . $ DROPBOX_PROFILE fi Debería ser DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" if [-f $ DROPBOX_PROFILE]; luego . $ DROPBOX_PROFILE fi Espero que ayude.
Jason

Solo para aclararlo: los ajustes de @ Jason son reemplazar las comillas simples con comillas dobles y reemplazar '~' con '$ HOME' en la definición de DROPBOX_PROFILE
sprugman

Respuestas:


17

~ / .bash_profile

DROPBOX_PROFILE='~/Dropbox/Bash/.bash_profile'
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

~ / .emacs

(load "~/Dropbox/Emacs/.emacs")

3
Personalmente, creo que sourcees más fácil de leer (y googlable) que el operador de punto, pero es su respuesta y, por lo tanto, no lo editaré. Aparte de eso, +1 para una buena respuesta.
Hola71 el

@ Hello71 ¿Puedes dar más detalles source? Estoy intrigado. ¡Gracias!
Joshua Pinter

@ Hello71 Ah, creo que sé a qué te refieres ahora. Y estoy completamente de acuerdo. usar .es mucho más críptico que usar source.
Joshua Pinter

Si tiene un espacio en su camino, como cuando tiene un Dropbox de negocios y quiere usar uno personal, por ejemplo Dropbox (Personal), necesitará usar comillas dobles cuando haga referencia a la variable, como "$DROPBOX_PROFILE".
Joshua Pinter el

6

¿Qué tal esto, que evita tener archivos de configuración especiales que originan las versiones de Dropbox?

$ ln -s ~/Dropbox/Bash/.bash_profile ~/.bash_profile
$ ln -s ~/Dropbox/Emacs/.emacs ~/.emacs

5

En su .bash_profile normal, simplemente llame a ~ / Dropbox / Bash / .bash_profile.

#.bash_profile
. ~/Dropbox/Bash/.bash_profile # the '.' command runs a file.

En realidad, probablemente desee llamar al archivo compartido de otra forma, o al menos no convertirlo en un archivo oculto.


3

Creo que esto obtendría lo que desea, solo verifique si el archivo existe, si es así, búsquelo.

en $HOME/.bash_profile

[ -f $HOME/Dropbox/Bash/.bash_profile ] && source $HOME/Dropbox/Bash/.bash_profile


0

comentario a: /superuser//a/224204/401026 (Respuesta de Andrejs Cainikovs)

mis cambios para macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, Terminal Versión 2.7.3 (388.1.1):
- reemplazado tilde
- reemplazado comillas simples por comillas dobles

DROPBOX_PROFILE="/Users/xxx/Dropbox/Bash/.bash_profile"
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

lo siento: no pude escribir comentarios, así que tengo que agregar otra respuesta

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.