Skip to content

Instantly share code, notes, and snippets.

@jfager
Created June 23, 2012 03:25
Show Gist options
  • Save jfager/2976645 to your computer and use it in GitHub Desktop.
Save jfager/2976645 to your computer and use it in GitHub Desktop.
shared bash profile via dropbox
alias sha1='openssl dgst -sha1'
SHARED_BASH_REMOTE=~/path/to/dropbox/shared_bash.sh
SHARED_BASH_TMP=~/.bash_shared.sh.tmp
SHARED_BASH_LOCAL=~/.bash_shared.sh
if [ -f $SHARED_BASH_REMOTE ]; then
cp $SHARED_BASH_REMOTE $SHARED_BASH_TMP
if [ -f $SHARED_BASH_LOCAL ]; then
SHARED_LOCAL_SHA=`sha1 $SHARED_BASH_LOCAL | cut -f2 -d=`
SHARED_TMP_SHA=`sha1 $SHARED_BASH_TMP | cut -f2 -d=`
if [ "$SHARED_LOCAL_SHA" != "$SHARED_TMP_SHA" ]; then
read -p "Remote shared bash config does not match backup; use remote shared bash config? " -n 1 -r
echo
if [[ $REPLY =~ [Yy]$ ]]; then
cp $SHARED_BASH_TMP $SHARED_BASH_LOCAL
else
echo "Loading backup shared bash config"
fi
fi
else
read -p "Found remote bash config; use it? " -n 1 -r
echo
if [[ $REPLY =~ [Yy]$ ]]; then
cp $SHARED_BASH_TMP $SHARED_BASH_LOCAL
fi
fi
rm $SHARED_BASH_TMP
else
echo "WARNING: $SHARED_BASH_REMOTE does not exist, trying local version"
fi
if [ -f $SHARED_BASH_LOCAL ]; then
source $SHARED_BASH_LOCAL
else
echo "WARNING: $SHARED_BASH_LOCAL does not exist; skipping"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment