Last active
October 29, 2016 10:43
-
-
Save robrecord/875fe24c5be90d739858ac250fde57a0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Upgrade homebrew packages including multiple versions of PHP without the linking/unlinking headache! | |
# Update package list | |
brew update | |
# Upgrade PHP packages | |
phpcurrent=$(readlink /usr/local/bin/php | xargs dirname | xargs dirname | xargs dirname | xargs basename 2>&1) | |
newline=" | |
" | |
IFS=$newline phpinstalled=( $(brew list | grep '^php\d\d$') ) | |
brew unlink ${phpinstalled[@]} | |
for phpversion in ${phpinstalled[@]} | |
do | |
IFS=$newline packages=( $(brew outdated --quiet | grep "$phpversion$") ) | |
if [[ $packages ]] | |
then | |
brew link $phpversion | |
for package in ${packages[@]} | |
do | |
brew upgrade `basename $package` | |
done | |
brew unlink $phpversion | |
fi | |
done | |
if [[ $phpcurrent ]] | |
then | |
brew link $phpcurrent | |
fi | |
# Upgrade everything else | |
brew upgrade | |
# Clean up | |
brew cleanup |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment