62 lines
1.3 KiB
Bash
62 lines
1.3 KiB
Bash
#!/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
|
|
}
|
|
|
|
|
|
# 生成密码
|
|
gen_password() {
|
|
local pass_length=$1 # 密码长度作为第一个参数
|
|
local chars='[:alnum:]' # 只允许出现字母和数字
|
|
|
|
local rand
|
|
rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length")
|
|
|
|
echo "$rand"
|
|
} |