Spostamento di .bash_profile su Dropbox

8

Mi piacerebbe spostare il mio .bash_profile su Dropbox per avere le mie funzioni terminali personalizzate disponibili su tutti i miei Mac. È possibile e ci sono possibili implicazioni?

Ad esempio, ho un comando per fare un git add e commit in un colpo solo:

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

Non sono riuscito a trovare alcuna informazione a riguardo.

    
posta swelet 10.06.2016 - 07:56
fonte

3 risposte

18

Puoi avere un file aggiuntivo nella cartella Dropbox e poi su ogni macchina all'interno del tuo file .bash_profile metti questo:

FILE="/path/to/DropboxFolder/shared_bash_profile_file"
if [ -f $FILE ];
then
    source $FILE
fi
    
risposta data 10.06.2016 - 08:27
fonte
4

Penso che sia un'idea migliore per caricare su un repository. Lascia che ti dica come l'ho fatto.

I versione dell'intera directory ~/bin . Il mio .bash_profile è su quella directory. Il $HOME/.bash_profile è un link a ~/bin/.bash_profile .

Il mio .bash_profile assomiglia a questo:

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

In questo modo posso monitorare facilmente i cambiamenti.

Per mantenere l'aggiornamento del repository è possibile creare uno script cron o LaunchAgents che estrae le modifiche sulla tua directory ~/bin una volta al giorno:

cd ~/bin && git pull origin $(git name-rev --name-only HEAD)
    
risposta data 10.06.2016 - 10:14
fonte
4

Non è una buona idea mettere l'intero .bash_profile in Dropbox, modificando i percorsi Dropbox o tramite un link simbolico. Macchine diverse potrebbero richiedere un contenuto leggermente diverso di questo file. Esempi: diverse versioni del software installate che richiedono configurazioni diverse, percorsi diversi, nomi diversi per cose come le partizioni sotto /dev/ .

Fai invece questo: metti tutte le tue funzioni e alias personalizzati in un file $HOME/Dropbox/my_functions.sh e poi includi la riga

. $HOME/Dropbox/my_functions.sh

nel tuo .bash_profile .

    
risposta data 10.06.2016 - 20:07
fonte

Leggi altre domande sui tag