new for quick install gitea.sh

This commit is contained in:
2025-07-27 20:21:31 +08:00
parent 57565c0eb1
commit a44747e4c1
3 changed files with 483 additions and 5 deletions

102
install.sh Normal file
View File

@ -0,0 +1,102 @@
#!/bin/bash
#
# install.sh - Gitea 交互式下载器一键安装脚本
#
# 这个脚本会自动下载、安装并配置 gitea.sh使其成为一个系统级的命令 'gitea'。
# --- 配置 ---
DOWNLOAD_URL="https://git.zyj.best/theshy/gitea-downloader/raw/branch/main/gitea.sh"
INSTALL_DIR="/usr/local/bin"
INSTALL_NAME="gitea"
TARGET_PATH="${INSTALL_DIR}/${INSTALL_NAME}"
# --- 辅助函数 ---
_print() {
local color_code="$1"; shift
if [ -t 1 ]; then printf "\e[${color_code}m%s\e[0m\n" "$@"; else printf "%s\n" "$@"; fi
}
info() { _print "34" "$@"; }
success() { _print "32" "$@"; }
error() { >&2 _print "31" "$@"; }
warning() { _print "33" "$@"; }
# --- 主逻辑 ---
main() {
# 1. 权限检查
local SUDO_CMD=""
if [[ $EUID -ne 0 ]]; then
if ! command -v sudo &> /dev/null; then
error "错误: 本脚本需要 root 权限来安装文件到 ${INSTALL_DIR}"
error "请以 root 用户身份运行,或安装 'sudo' 后重试。"
exit 1
fi
SUDO_CMD="sudo"
fi
info "权限检查通过。将使用 '${SUDO_CMD}' 来执行需要提升权限的命令。"
# 2. 依赖检查
if ! command -v curl &> /dev/null; then
error "错误: 核心依赖 'curl' 未找到。请先安装 curl 后再运行此脚本。"
warning " - Debian/Ubuntu: sudo apt-get install curl"
exit 1
fi
# 3. 检查是否已安装
if [ -f "$TARGET_PATH" ]; then
warning "检测到 '${TARGET_PATH}' 已存在。"
read -r -p "是否要覆盖它? [y/N] " choice
case "$choice" in
y|Y )
info "好的,将覆盖现有版本。"
;;
* )
error "操作取消。"
exit 1
;;
esac
fi
# 4. 下载主脚本到临时文件
info "\n步骤 1/3: 正在从您的 Gitea 仓库下载主脚本..."
local TEMP_FILE
TEMP_FILE=$(mktemp)
curl -L --fail -o "$TEMP_FILE" "$DOWNLOAD_URL" || {
error "\n下载失败"
error "请检查 URL 是否正确,以及网络连接是否正常。"
error "URL: ${DOWNLOAD_URL}"
rm -f "$TEMP_FILE"
exit 1
}
success "主脚本下载成功!"
# 5. 安装脚本
info "\n步骤 2/3: 正在安装脚本到 ${TARGET_PATH}..."
# 赋予执行权限
chmod +x "$TEMP_FILE"
# 移动到系统路径
$SUDO_CMD mv "$TEMP_FILE" "$TARGET_PATH" || {
error "\n无法将脚本移动到 ${TARGET_PATH}"
error "请检查您是否有足够的权限。"
rm -f "$TEMP_FILE"
exit 1
}
success "脚本安装成功!"
# 6. 最终提示
info "\n步骤 3/3: 完成!"
success "\n祝贺您Gitea 交互式下载器已成功安装。"
info "您现在可以在系统的任何位置使用 'gitea' 命令了。"
warning "\n下一步操作:"
warning " 1. 打开一个新的终端,或者运行 'source ~/.bashrc' (取决于您的 shell)。"
warning " 2. 运行以下命令开始使用:"
info " gitea down"
warning " 3. 首次运行时,它会引导您完成 Gitea URL 和 Token 的配置。"
warning " (它还会自动检查并提示安装 jq 和 fzf 等依赖)"
}
# --- 脚本入口 ---
main