#!/bin/bash red(){ echo -e "\033[31m$1\033[0m" } # 获取系统包管理器 get_package_manager(){ if command -v apt-get &> /dev/null; then echo "apt-get" elif command -v yum &> /dev/null; then echo "yum" else echo "未知的系统包管理器" return 1 # 返回错误状态码 fi } # 检查 jq 是否已安装 check_jq(){ if command -v jq &> /dev/null; then return 0 # jq 已安装,返回成功 fi echo "jq 未安装,正在安装..." package_manager=$(get_package_manager) # 获取包管理器 if [[ -z "$package_manager" ]]; then echo "无法识别系统包管理器" return 1 # 无法识别包管理器 fi if [[ "$package_manager" == "apt-get" ]]; then sudo apt-get install -y jq elif [[ "$package_manager" == "yum" ]]; then sudo yum install -y jq else echo "未知的系统包管理器" return 1 # 未知的包管理器 fi } # 检查 Bash 是否已安装 check_bash_installed() { if ! command -v bash &> /dev/null; then echo "错误: Bash 未安装!" return 1 # 返回 1 表示 Bash 未安装 fi } # 动态安装软件包 install_package() { local package_name=$1 if command -v "$package_name" &> /dev/null; then echo "$package_name 已安装, 跳过." return 0 fi echo "安装 $package_name..." package_manager=$(get_package_manager) if [ "$package_manager" == "apt-get" ]; then sudo apt-get update sudo apt-get install -y "$package_name" elif [ "$package_manager" == "yum" ]; then sudo yum install -y "$package_name" else echo "未知的包管理器, 请手动安装 $package_name." return 1 fi } # 生成密码 gen_password() { local pass_length=$1 # 密码长度作为第一个参数 local chars='[:alnum:]' # 只允许出现字母和数字 local rand rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length") echo "$rand" }