🔧 收紧本地脚本与 runner 产物边界

This commit is contained in:
csh
2026-05-22 10:09:58 +08:00
parent 124b953d38
commit 95402f4830
7 changed files with 83 additions and 10 deletions
+7 -5
View File
@@ -10,6 +10,7 @@ RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
# 要检查的文件列表
SCRIPT_FILES=(
@@ -31,9 +32,10 @@ echo ""
for file in "${SCRIPT_FILES[@]}"; do
TOTAL_FILES=$((TOTAL_FILES + 1))
file_path="${SCRIPT_DIR}/${file}"
# 检查文件是否存在
if [ ! -f "$file" ]; then
if [ ! -f "${file_path}" ]; then
echo -e "${RED}$file - 文件不存在,跳过${NC}"
continue
fi
@@ -42,14 +44,14 @@ for file in "${SCRIPT_FILES[@]}"; do
# 检查换行符
HAS_CRLF=false
if file "$file" | grep -qi "CRLF\|with CR"; then
if file "${file_path}" | grep -qi "CRLF\|with CR"; then
HAS_CRLF=true
NEEDS_FIX=true
fi
# 检查权限
NEEDS_CHMOD=false
if [ ! -x "$file" ]; then
if [ ! -x "${file_path}" ]; then
NEEDS_CHMOD=true
NEEDS_FIX=true
fi
@@ -64,13 +66,13 @@ for file in "${SCRIPT_FILES[@]}"; do
# 修复换行符
if [ "$HAS_CRLF" = true ]; then
sed -i 's/\r$//' "$file" 2>/dev/null || sed -i '' 's/\r$//' "$file" 2>/dev/null
sed -i 's/\r$//' "${file_path}" 2>/dev/null || sed -i '' 's/\r$//' "${file_path}" 2>/dev/null
echo -n -e "${YELLOW}[换行符已修复]${NC} "
fi
# 修复权限
if [ "$NEEDS_CHMOD" = true ]; then
chmod +x "$file"
chmod +x "${file_path}"
echo -n -e "${YELLOW}[权限已修复]${NC} "
fi