#!/bin/bash # 函数生成随机密码 gen_random_pass() { local pass_length=$1 # 密码长度作为第一个参数 local chars='[:alnum:]' # 只允许出现字母和数字 local rand rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length") echo "$rand" } # 检查是否安装了jq命令 if ! command -v jq &> /dev/null; then echo "Error: jq command not found. Please install jq first." exit 1 fi # 生成一个长度为16的随机密码 new_password=$(gen_random_pass 16) # 更新config.json文件中的auth.password字段 script_dir="$(dirname "$(realpath "$0")")" # 当前脚本所在目录的绝对路径 config_file="$script_dir/../config.json" # 使用jq命令修改auth.password字段的值 new_config=$(jq --arg new_password "$new_password" '.auth.password = $new_password' "$config_file") # 将修改后的JSON写回config.json文件 echo "$new_config" > "$config_file" echo "New password: $new_password" echo "config.json file updated with new password."