我是一个更新癖,总是想体验软件的新版(入坑 Mac 之前,我是 Arch 用户)。
使用 brew cask 之后,我发现找不到一个 brew cask upgrade 命令,可以一键更新我的所有 App 。
于是我自己写了一个小脚本,用来检查软件的更新。
#!/bin/bash
for c in `ls /usr/local/Caskroom | grep -v "alfred" | grep -v flash` ; do
LATEST=`brew cask info $c | head -n 1 | awk '{print $2}'`
if [ `brew cask info $c | tail -n +2 | grep $LATEST | wc -l | awk '{print $1}'` -eq 0 ]; then
echo $c
fi
done
原理很简单,通过 brew cask info 的提示来匹配,获得结果之后还需要使用 brew cask install --force xxx yyy zzz 来安装一下。(你可以看到,穷逼的我过滤掉了 alfred 的升级,不想升级 3 )
由于 brew cask 有时候会调整命令返回结果,所以我会跟着持续维护这个脚本,感兴趣的同学可以直接拿: https://github.com/alswl/.oOo./blob/master/local/bin/check_brew_cask_upgrade
脚本局限性:
- 只支持通过 brew cask 安装的脚本