Skip to content

Instantly share code, notes, and snippets.

@hostmaster
Created April 4, 2017 15:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hostmaster/5866567663ebb31aeb2739b81d8e3b9d to your computer and use it in GitHub Desktop.
Save hostmaster/5866567663ebb31aeb2739b81d8e3b9d to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# ORIGIN: http://apple.stackexchange.com/a/231020
(set -x; brew upgrade;)
(set -x; brew cleanup;)
(set -x; brew cask cleanup;)
(set -x; brew prune;)
(set -x; brew doctor;)
red=$(tput setaf 1)
green=$(tput setaf 2)
reset=$(tput sgr0)
casks=( $(brew cask list) )
for cask in ${casks[@]}
do
version=$(brew cask info $cask | sed -n "s/$cask:\ \(.*\)/\1/p")
installed=$(find "/usr/local/Caskroom/$cask" -type d -maxdepth 1 -maxdepth 1 -name "$version")
if [[ -z $installed ]]; then
echo "${red}${cask}${reset} requires ${red}update${reset}."
(set -x; brew cask uninstall $cask --force;)
(set -x; brew cask install $cask --force;)
else
echo "${red}${cask}${reset} is ${green}up-to-date${reset}."
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment