vscode-patch/patch-code.sh
2025-06-27 08:14:35 +08:00

34 lines
1.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
VSCODE_PATCH_DIR="$HOME/.vscode-patch"
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应用-补丁]"
echo "-- VSCode Path: $VSCODE_APP_PATH"
if [ ! -f "$VSCODE_APP_PATH/code" ]; then
echo "错误指定App路径下不存在VSCode可执行文件"
exit 1
fi
echo "-- 找到code程序即将补丁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:$HOME/.vscode-patch/lib" \
"$VSCODE_APP_PATH/code"
echo "-- 补丁完成!"
echo "VSCode App 已做旧版本兼容动态库补丁修改code文件原文件为code.bak\n补丁数据路径$HOME/.vscode-patch" >>$VSCODE_APP_PATH/Patch说明.md