最近玩儿 lobe-chat,github上很活跃,没几天就发布一个release,自己又习惯于使用最新版,于是就需要更新,手动更新太麻烦,于是用脚本做:
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
}
LATEST=$(get_latest_release "lobehub/lobe-chat")
echo $LATEST
VER=$(echo "$LATEST" | cut -c2-)
echo $VER
wget -c "https://github.com/lobehub/lobe-chat/archive/refs/tags/${LATEST}.tar.gz"
tar xzvf ${LATEST}.tar.gz
echo "cp -rf lobe-chat-${VER}/* ."
cp -rf lobe-chat-${VER}/* .
echo "rm -rf lobe-chat-${VER}"
rm -rf lobe-chat-${VER}
很简单,get_latest_release这个function是从github上抄来的,先下载最新版tar.gz文件,解压,覆盖当前路径所有文件,然后删除解压的目录。