A harder, better, faster, stronger bin/update.sh
This commit is contained in:
parent
bf2c16dac3
commit
1bad657c31
41
bin/update.sh
Executable file
41
bin/update.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o errexit,nounset
|
||||||
|
|
||||||
|
update() {
|
||||||
|
[[ -d $1 ]] || return
|
||||||
|
|
||||||
|
pushd "$1"
|
||||||
|
local L=$(git rev-parse @)
|
||||||
|
local R=$(git rev-parse @{u})
|
||||||
|
if [[ $L != $R ]]
|
||||||
|
then
|
||||||
|
echo "Updating $(basename $(pwd))"
|
||||||
|
shift
|
||||||
|
${@:-git pull}
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update OS
|
||||||
|
case "$OSTYPE" in
|
||||||
|
darwin*)
|
||||||
|
brew update && brew upgrade && brew cleanup
|
||||||
|
;;
|
||||||
|
linux*)
|
||||||
|
if command -v pacman >/dev/null; then
|
||||||
|
sudo pacman -Syu --noconfirm
|
||||||
|
elif command -v apt-get >/dev/null; then
|
||||||
|
sudo apt-get update && sudo apt-get upgrade -y
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Update editors
|
||||||
|
update ~/.emacs.d "make update"
|
||||||
|
update ~/.vim "make update"
|
||||||
|
|
||||||
|
# Others
|
||||||
|
update ~/.zgen
|
||||||
|
update ~/.cask
|
||||||
|
update ~/.{rb,py}env
|
||||||
|
|
Loading…
Reference in a new issue