#!/bin/bash set -euo pipefail # --- Настройки --- HUGO_VER="0.165.0" BIN_DIR="$HOME/bin" # ----------------- case "$(uname -m)" in x86_64) ARCH="amd64" ;; aarch64) ARCH="arm64" ;; *) echo "Неизвестная архитектура: $(uname -m)"; exit 1 ;; esac ASSET="hugo_extended_${HUGO_VER}_linux-${ARCH}.tar.gz" URL="https://github.com/gohugoio/hugo/releases/download/v${HUGO_VER}/${ASSET}" mkdir -p "$BIN_DIR" TMP_DIR=$(mktemp -d) trap 'rm -rf "$TMP_DIR"' EXIT echo "1. Скачиваем Hugo v${HUGO_VER} (${ARCH})..." wget -q "$URL" -O "$TMP_DIR/$ASSET" echo "2. Проверяем checksum..." wget -q "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VER}/hugo_${HUGO_VER}_checksums.txt" -O "$TMP_DIR/checksums.txt" ( cd "$TMP_DIR" && grep " ${ASSET}\$" checksums.txt | sha256sum -c - ) echo "3. Распаковываем в $BIN_DIR..." tar -xzf "$TMP_DIR/$ASSET" -C "$TMP_DIR" hugo mv -f "$TMP_DIR/hugo" "$BIN_DIR/hugo" chmod +x "$BIN_DIR/hugo" echo "4. Прописываем PATH (если ещё не прописан)..." if ! grep -q '# hugo-local-path' "$HOME/.bashrc" 2>/dev/null; then echo -e "\n# hugo-local-path\nexport PATH=\"\$HOME/bin:\$PATH\"" >> "$HOME/.bashrc" fi echo "Готово. Версия:" "$BIN_DIR/hugo" version echo "Перелогиньтесь или выполните: source ~/.bashrc"