Mover .bash_profile a Dropbox

8

Me gustaría mover mi .bash_profile a Dropbox para que mis funciones de Terminal personalizadas estén disponibles en todos mis Mac. ¿Es esto posible y hay implicaciones posibles?

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 sobre esto.

    
pregunta swelet 10.06.2016 - 07:56

3 respuestas

18

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

FILE="/path/to/DropboxFolder/shared_bash_profile_file"
if [ -f $FILE ];
then
    source $FILE
fi
    
respondido por el Mateusz Szlosek 10.06.2016 - 08:27
4

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

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

Mi .bash_profile tiene este aspecto:

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 esa manera puedo rastrear fácilmente los cambios.

Para mantener la actualización del repositorio, puede crear una secuencia de comandos cron o LaunchAgents que extraiga los cambios en su directorio ~/bin una vez al día:

cd ~/bin && git pull origin $(git name-rev --name-only HEAD)
    
respondido por el jherran 10.06.2016 - 10:14
4

No es una buena idea colocar el .bash_profile completo en Dropbox, ya sea mediante la modificación de 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 diferentes configuraciones, diferentes rutas, diferentes nombres para elementos como particiones en /dev/ .

Haga esto en su lugar: ponga todas sus funciones y alias personalizados en un archivo $HOME/Dropbox/my_functions.sh y luego incluya la línea

. $HOME/Dropbox/my_functions.sh

en tu .bash_profile .

    
respondido por el Federico Poloni 10.06.2016 - 20:07

Lea otras preguntas en las etiquetas