代码看起来不错,但您可以避免使用
cat
全部在这里。只是使用
echo
或
printf
.
printf '\
{
"ip_range" : "%s",
"types" : [ "snmp" ],
"description" : "%s",
"snmp.version": "v2c",
"snmp.port" : 161,
"snmp.community" : "%s",
"snmp.retries" : 3,
"snmp.timeout" : 2 }' "$snmp_ip" "$snmp_cred" "$snmp_cred" > "$json_file"
通常,一旦您尝试生成动态JSON,就必须担心参数值是否被正确编码。在这种情况下,您可能需要考虑使用以下工具生成JSON
jq
而不是手动构建。
jq -n --arg ipr "$ip_range" --arg cred "$snmp_cred" '{
"ip_range" : $ipr,
"types" : [ "snmp" ],
"description" : $cred,
"snmp.version": "v2c",
"snmp.port" : 161,
"snmp.community" : $cred,
"snmp.retries" : 3,
"snmp.timeout" : 2 }' > "$json_file"