重构代码, 变量名改为大写

This commit is contained in:
Olia Lisa
2026-05-21 18:43:35 +08:00
parent 078fc195c0
commit aa5c36fd8d
2 changed files with 54 additions and 53 deletions
+9 -9
View File
@@ -6,23 +6,23 @@
# 案例2modify_json_file "/foo/bar.json" "servers" '["a.com", "b.com"]'
# 该函数能自动处理不同数据类型,包括数组、对象和数字等。
function modify_json_file() {
local json_file=$1 # json文件路径
local key=$2 # 要修改的key
local value=$3 # 要修改的value
local JSON_FILE=$1 # json文件路径
local KEY=$2 # 要修改的key
local VALUE=$3 # 要修改的value
#如果key的值是.开头, 则去掉.号
if [[ ${key} == "."* ]]; then
key=${key:1}
if [[ ${KEY} == "."* ]]; then
KEY=${KEY:1}
fi
# 检查值是否为有效的 JSON 格式(如数组、对象或数字)。
# 如果是,则直接将值传递给 jq,无需引号。
if echo "${value}" | jq . >/dev/null 2>&1; then
jq ".${key} = ${value}" "${json_file}" > "${json_file}.tmp"
if echo "${VALUE}" | jq . >/dev/null 2>&1; then
jq ".${KEY} = ${VALUE}" "${JSON_FILE}" > "${JSON_FILE}.tmp"
else
# 否则,将值视为字符串,并添加引号。
jq ".${key} = \"${value}\"" "${json_file}" > "${json_file}.tmp"
jq ".${KEY} = \"${VALUE}\"" "${JSON_FILE}" > "${JSON_FILE}.tmp"
fi
mv ${json_file}.tmp ${json_file}
mv ${JSON_FILE}.tmp ${JSON_FILE}
}