Skip to content

Instantly share code, notes, and snippets.

@n0ts
Last active April 15, 2020 15:30
Show Gist options
  • Select an option

  • Save n0ts/94693a99756c1f47c94f5b2c005530e8 to your computer and use it in GitHub Desktop.

Select an option

Save n0ts/94693a99756c1f47c94f5b2c005530e8 to your computer and use it in GitHub Desktop.
brew cask upgrade
#!/bin/bash
for c in $(brew cask list); do
info=$(brew cask info $c)
installed_ver=$(echo "$info" | cut -d$'\n' -f1 | tr -d ' ' | cut -d':' -f 2)
current_ver=$(echo "$info" | cut -d$'\n' -f3 | cut -d' ' -f 1 | rev | cut -d'/' -f 1 | rev)
if [ "$installed_ver" != "$current_ver" ]; then
echo "$c is installed '$installed_ver', current is '$current_ver'"
brew cask reinstall $c
fi
done
@awade

awade commented Feb 24, 2017

Copy link
Copy Markdown

Maybe consider adding the line "brew cask cleanup" to purge the cached downloads. Even add it after as well to free up space. This would avoid the sometimes error of brew reinstalling the wrong version in its downloads folder instead of the fresh version.

@awade

awade commented Feb 24, 2017

Copy link
Copy Markdown

Also, should include a brew update, otherwise it won't actually be working off the latest updated version numbers.

@qd3v

qd3v commented Jun 6, 2017

Copy link
Copy Markdown

Any downside of this solution? :

brew cask reinstall `brew cask outdated`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment