You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Bash脚本生成UUID并写入JSON数组格式文件

修正后的Bash脚本实现UUID生成与JSON数组输出

原脚本的问题点

  • 执行uuidgen的方式错误,原写法没有实际调用命令生成UUID,而是输出了字符串uuidgen
  • 生成的UUID没有用双引号包裹,不符合JSON字符串格式要求
  • 缺少JSON数组的首尾标记[和]
  • 最后一条UUID末尾多了逗号,违反JSON语法规范

完整修正脚本

generate_uuid_json() {
    local count=$1
    local output_file=$2
    
    # 写入数组开头
    echo "[" > "$output_file"
    
    # 生成前count-1个带逗号的UUID行
    for ((i=1; i < count; i++)); do
        echo "\"$(uuidgen)\"," >> "$output_file"
    done
    
    # 生成最后一个不带逗号的UUID行
    if [ "$count" -gt 0 ]; then
        echo "\"$(uuidgen)\"" >> "$output_file"
    fi
    
    # 写入数组结尾
    echo "]" >> "$output_file"
}

# 检查参数是否正确
if [ $# -ne 1 ]; then
    echo "用法: $0 <需要生成的UUID数量>"
    exit 1
fi

# 遍历目标文件生成JSON数组
for file in file1.json file2.json; do
    generate_uuid_json "$1" "$file"
done

关键说明

  1. 函数generate_uuid_json专门处理单文件的UUID生成与JSON格式输出,接收两个参数:UUID数量、输出文件路径
  2. 拆分循环处理:前n-1个UUID末尾加逗号,最后一个UUID不加逗号,避免JSON语法错误
  3. 开头写入[、结尾写入],构成标准JSON数组结构
  4. 增加参数检查,避免用户未传入UUID数量导致的错误

使用方法

比如要给file1.json和file2.json各生成3个UUID,执行命令:

./your_script.sh 3

内容的提问来源于stack exchange,提问作者wyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:55:19