9 votes

Déplacer le fichier .bash_profile vers Dropbox

J'aimerais déplacer mon fichier .bash_profile vers Dropbox pour que mes fonctions de terminal personnalisées soient disponibles sur tous mes Macs. Est-ce possible et y a-t-il des implications possibles ?

Par exemple, j'ai une commande pour faire un git add et commit en une seule fois :

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

Je n'ai pu trouver aucune information à ce sujet.

18voto

Mateusz Szlosek Points 21762

Vous pouvez avoir un fichier supplémentaire dans le dossier Dropbox, puis sur chaque machine de votre réseau. .bash_profile Le dossier met ceci :

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

5voto

Aeseir Points 111

Ce n'est pas une bonne idée de mettre tout le .bash_profile dans Dropbox, soit en modifiant les chemins de Dropbox, soit par un lien symbolique. Des machines différentes peuvent nécessiter un contenu légèrement différent de ce fichier. Exemples : différentes versions de logiciels installés nécessitant une configuration différente, différents chemins, différents noms pour des choses telles que les partitions sous /dev/ .

Faites plutôt ceci : mettez toutes vos fonctions personnalisées et vos alias dans un fichier $HOME/Dropbox/my_functions.sh et ensuite inclure la ligne

. $HOME/Dropbox/my_functions.sh

dans votre .bash_profile .

4voto

jherran Points 12554

Je pense que c'est une meilleure idée de télécharger vers un dépôt. Laissez-moi vous dire comment j'ai fait.

Je version l'ensemble ~/bin répertoire. Mon .bash_profile se trouve dans ce répertoire. Le site $HOME/.bash_profile est un lien vers ~/bin/.bash_profile .

Mon .bash_profile ressemble à ça :

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 cette façon, je peux facilement suivre les changements.

Pour garder la mise à jour du repo vous pouvez créer un cron ou LaunchAgents script qui tire les changements sur votre ~/bin une fois par jour :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X