Skip to content

Instantly share code, notes, and snippets.

@DevJMD
Created March 16, 2015 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DevJMD/8a7ab7e7d4cfe30fb29b to your computer and use it in GitHub Desktop.
Save DevJMD/8a7ab7e7d4cfe30fb29b to your computer and use it in GitHub Desktop.
Ignore Dropbox Files (OS X)
#!/bin/bash
set -e
# SETTINGS
dropbox_folder="/Users/James/Dropbox"
# Location of dropbox.py (http://www.dropboxwiki.com/tips-and-tricks/using-the-official-dropbox-command-line-interface-cli)
dropbox_script="~/bin/dropbox.py"
# Array of folders to ignore
ignore_list=['bower_components','node_modules','vendor']
# FUNCTIONS
function dropbox_install(){
while true; do
read -p $'\nDo you want to use download and install dropbox.py? (y/n) ' yn
case $yn in
[Yy]* )
dropbox_script_parent=$(dirname $dropbox_script)
mkdir -p $dropbox_script_parent
wget -O $dropbox_script "https://www.dropbox.com/download?dl=packages/dropbox.py"
chmod +x $dropbox_script
recurse $dropbox
break;;
[Nn]* )
echo 'Aborted. See http://www.dropboxwiki.com/tips-and-tricks/using-the-official-dropbox-command-line-interface-cli#Installation for manual instructions.';
exit 1;;
esac
done
}
function recurse() {
for i in "$1"/*;do
if [ -d "$i" ];then
j=$(basename "$i")
if [[ " ${ignore_list[*]} " == *$j* ]]; then
$dropbox_script exclude "$i"
fi
recurse "$i"
fi
done
}
# SCRIPT
# Check Dropbox folder location
if [ -d "$dropbox_folder" ];then
echo "Dropbox found at $dropbox_folder"
else
echo "Dropbox not found"
exit 1
fi
# Check for dropbox.py
if [ -e "$dropbox_script" ];then
recurse $dropbox
else
dropbox_install
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment