9 votos

Mover .bash_profile a Dropbox

Me gustaría mover mi .bash_profile a Dropbox para tener mis funciones personalizadas de Terminal disponibles en todos mis Macs. ¿Es esto posible y hay posibles implicaciones?

Por ejemplo tengo un comando para hacer un git add y commit de una sola vez:

function gax() {
    git add .
    git commit -m "$1"
}

No he podido encontrar ninguna información al respecto.

2 votos

Sé que ya tiene una respuesta, pero me ha hecho pensar en sólo softlinking a la dropbox .bash_profile. Algo para pensar.

0 votos

@JMY1000 con mi solución puedes poner cosas adicionales dependiendo de la máquina en la que estés - simplemente pon los comandos después del if declaración. Pero tienes razón esto también podría ser un symlink.

3 votos

ln -s ~/path/to/dropbox/bash_profile_file ~/.bash_profile

18voto

hjdm Puntos 18

Usted puede tener un archivo adicional en la carpeta de Dropbox y luego en cada máquina dentro de su .bash_profile archivo puso esto:

FILE="/path/to/DropboxFolder/shared_bash_profile_file"
if [ -f $FILE ];
then
    source $FILE
fi

5 votos

Dado que FILE podría ser utilizado para otras aplicaciones y demás, es posible que quieras nombrar la variable como "DROPBOX-RC".

5voto

Federico Poloni Puntos 131

No es una buena idea poner todo el .bash_profile en Dropbox, ya sea modificando las rutas de Dropbox o mediante un enlace simbólico. Diferentes máquinas pueden requerir un contenido ligeramente diferente de este archivo. Ejemplos: diferentes versiones de software instaladas que requieren una configuración diferente, diferentes rutas, diferentes nombres para cosas como las particiones bajo /dev/ .

En lugar de esto, ponga todas sus funciones y alias personalizados en un archivo $HOME/Dropbox/my_functions.sh y luego incluir la línea

. $HOME/Dropbox/my_functions.sh

en su .bash_profile .

4voto

jherran Puntos 6511

Creo que es mejor idea subir a un repositorio. Déjame decirte cómo lo hice.

Yo versiono todo el ~/bin directorio. Mi .bash_profile está en ese directorio. El $HOME/.bash_profile es un enlace a ~/bin/.bash_profile .

Mi .bash_profile se ve así:

if [[ $OSTYPE == darwin* ]]; then
    . ~/bin/includes/exports-osx.sh
    . ~/bin/includes/bash-stuff-osx.sh
    . ~/bin/includes/aliases-osx.sh
    . ~/bin/includes/functions-osx.sh
elif [[ $OSTYPE == linux* ]]; then
    . ~/bin/includes/exports-linux.sh
    . ~/bin/includes/terminal-linux.sh
    . ~/bin/includes/aliases-linux.sh
    . ~/bin/includes/ssh-keys-linux.sh
    . ~/bin/includes/bash-stuff-linux.sh
fi

. ~/bin/includes/bash-stuff.sh
. ~/bin/includes/aliases.sh
. ~/bin/includes/powerline.sh
. ~/bin/includes/functions.sh
. ~/bin/includes/work-stuff.sh

De esta manera puedo seguir fácilmente los cambios.

Para mantener la actualización del repo puedes crear un cron o LaunchAgents script que tire de los cambios en tu ~/bin directorio una vez al día:

cd ~/bin && git pull origin $(git name-rev --name-only HEAD)

2 votos

¿Qué ventajas tendría esto respecto a la solución sencilla que presentó Mateusz?

2 votos

@swelet desde mi punto de vista, dos ventajas principales: puedes revertir fácilmente los cambios a un punto y puedes hacer un seguimiento de cada cambio.

0 votos

@jherran O también podrías poner el repo git en la carpeta de Dropbox. Sin embargo, creo que Dropbox tiene algunas versiones en sí mismo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X