diff --git a/patch-code.sh b/patch-code.sh index 06fedc0..7772281 100644 --- a/patch-code.sh +++ b/patch-code.sh @@ -4,21 +4,30 @@ if [ ! -d "$VSCODE_PATCH_DIR/lib" ]; then echo "错误:补丁文件夹应放在这儿:$HOME/.vscode-patch/" exit 1 fi - +VSCODE_APP_PATH="" +if [ ! -n "$1" ]; then + VSCODE_APP_PATH="$1" +else + read -p "指定VSCode App路径: " VSCODE_APP_PATH +fi echo "[VSCode应用-补丁]" -read -p "指定VSCode路径: " VSCODE_APP_PATH + if [ ! -f "$VSCODE_APP_PATH/code" ]; then - echo "错误:指定路径下不存在VSCode可执行文件" + echo "错误:指定App路径下不存在VSCode可执行文件, App Path: $1" exit 1 fi echo "-- 找到code程序,即将补丁code程序..." -echo "-- 备份原始code程序..." if [ ! -f "$VSCODE_APP_PATH/code.bak" ]; then + echo "-- 备份原始code程序..." cp "$VSCODE_APP_PATH/code" "$VSCODE_APP_PATH/code.bak" +else + echo "-- 已存在code.bak原始备份" fi echo "-- 开始打补丁..." $VSCODE_PATCH_DIR/tools/patchelf \ --set-interpreter "$VSCODE_PATCH_DIR/lib/ld-linux-x86-64.so.2" \ - --set-rpath '$ORIGIN:~/.vscode-patch/lib' \ + --set-rpath "\$ORIGIN:$HOME/.vscode-patch/lib" \ "$VSCODE_APP_PATH/code" -echo "-- 补丁完成!" \ No newline at end of file +echo "-- 补丁完成!" + +echo "VSCode App 已做旧版本兼容动态库补丁(修改code文件,原文件为code.bak),补丁数据路径$HOME/.vscode-patch" >> $VSCODE_APP_PATH/Patch说明.md \ No newline at end of file