fix: harden Unix scripts and Makefile
This commit is contained in:
@@ -21,13 +21,13 @@ else
|
||||
endif
|
||||
|
||||
help:
|
||||
@echo "SFCraft 文档"
|
||||
@echo " make build 同步物品贴图并执行 hugo 构建"
|
||||
@echo " make dev 同步物品贴图并启动 hugo 开发服务器"
|
||||
@echo " make sync 仅同步物品贴图"
|
||||
@echo " make help 显示本帮助"
|
||||
@echo ""
|
||||
@echo "可附加 hugo 参数: make dev HUGO_ARGS=\"--port 1314\""
|
||||
@echo SFCraft 文档
|
||||
@echo make build 同步物品贴图并执行 hugo 构建
|
||||
@echo make dev 同步物品贴图并启动 hugo 开发服务器
|
||||
@echo make sync 仅同步物品贴图
|
||||
@echo make help 显示本帮助
|
||||
@echo
|
||||
@echo 可附加 hugo 参数: make dev HUGO_ARGS="--port 1314"
|
||||
|
||||
sync:
|
||||
$(SYNC_CMD)
|
||||
|
||||
Regular → Executable
+13
-3
@@ -11,10 +11,20 @@ echo "[1/2] 同步物品贴图"
|
||||
"$DIR/sync-items.sh"
|
||||
|
||||
if ! command -v hugo >/dev/null 2>&1; then
|
||||
echo "[错误] 未找到 hugo, 请安装 Hugo 或将其加入 PATH。" >&2
|
||||
exit 1
|
||||
HUGO_BIN=""
|
||||
if [ -n "${HUGO:-}" ] && [ -x "$HUGO" ]; then
|
||||
HUGO_BIN="$HUGO"
|
||||
elif [ -n "${LOCALAPPDATA:-}" ]; then
|
||||
HUGO_BIN="$(find "$LOCALAPPDATA/Microsoft/WinGet/Packages" -maxdepth 3 -name hugo.exe 2>/dev/null | head -n 1)"
|
||||
fi
|
||||
if [ -z "$HUGO_BIN" ]; then
|
||||
echo "[错误] 未找到 hugo, 请安装 Hugo、将其加入 PATH, 或设置环境变量 HUGO。" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
HUGO_BIN="$(command -v hugo)"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "[2/2] hugo 构建"
|
||||
exec hugo "$@"
|
||||
exec "$HUGO_BIN" "$@"
|
||||
|
||||
Regular → Executable
+13
-3
@@ -28,10 +28,20 @@ else
|
||||
fi
|
||||
|
||||
if ! command -v hugo >/dev/null 2>&1; then
|
||||
echo "[错误] 未找到 hugo, 请安装 Hugo 或将其加入 PATH。" >&2
|
||||
exit 1
|
||||
HUGO_BIN=""
|
||||
if [ -n "${HUGO:-}" ] && [ -x "$HUGO" ]; then
|
||||
HUGO_BIN="$HUGO"
|
||||
elif [ -n "${LOCALAPPDATA:-}" ]; then
|
||||
HUGO_BIN="$(find "$LOCALAPPDATA/Microsoft/WinGet/Packages" -maxdepth 3 -name hugo.exe 2>/dev/null | head -n 1)"
|
||||
fi
|
||||
if [ -z "$HUGO_BIN" ]; then
|
||||
echo "[错误] 未找到 hugo, 请安装 Hugo、将其加入 PATH, 或设置环境变量 HUGO。" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
HUGO_BIN="$(command -v hugo)"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "[2/2] 启动 hugo server"
|
||||
exec hugo server "${HUGO_ARGS[@]}"
|
||||
exec "$HUGO_BIN" server "${HUGO_ARGS[@]}"
|
||||
|
||||
Regular → Executable
+3
-3
@@ -6,12 +6,12 @@ set -euo pipefail
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
PY=""
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
if command -v python3 >/dev/null 2>&1 && python3 -c "import sys" >/dev/null 2>&1; then
|
||||
PY="python3"
|
||||
elif command -v python >/dev/null 2>&1; then
|
||||
elif command -v python >/dev/null 2>&1 && python -c "import sys" >/dev/null 2>&1; then
|
||||
PY="python"
|
||||
else
|
||||
echo "[错误] 未找到 python3 / python, 请先安装 Python 3。" >&2
|
||||
echo "[错误] 未找到可用的 python3 / python, 请先安装 Python 3。" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user