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

如何用Bash脚本批量修改子文件夹下的YAML和Swagger YAML文件

Bash批量追加YAML文件内容实现方案
  • 直接指定遍历folder-1、folder-2两个目标目录,避免误操作其他目录
  • 分别匹配环境配置YAML(dev/qa/prod.yaml)和swagger前缀的YAML文件
  • 使用>>重定向符实现内容追加,不会覆盖原有文件内容

可直接运行的完整脚本

#!/bin/bash

# 定义需要追加的内容,可根据实际需求修改
ENV_YAML_CONTENT="dummy"
SWAGGER_YAML_CONTENT="dummy"

# 仅遍历指定的两个目标目录
for target_dir in folder-1 folder-2; do
    # 跳过不存在的目录避免报错
    if [ ! -d "$target_dir" ]; then
        continue
    fi
    echo "处理目录: $target_dir"

    # 进入目标目录
    cd "$target_dir" || exit

    # 给dev/qa/prod.yaml追加内容
    for env_file in {dev,qa,prod}.yaml; do
        if [ -f "$env_file" ]; then
            echo "追加内容到环境配置文件: $env_file"
            echo "$ENV_YAML_CONTENT" >> "$env_file"
        fi
    done

    # 给swagger开头的YAML文件追加内容
    for swagger_file in swagger*.yaml; do
        if [ -f "$swagger_file" ]; then
            echo "追加内容到Swagger文件: $swagger_file"
            echo "$SWAGGER_YAML_CONTENT" >> "$swagger_file"
        fi
    done

    # 返回上级目录
    cd ..
done

echo "所有目标文件处理完成"

注意事项

  • 运行前测试:可以先把echo "$XXX_CONTENT" >> "$xxx_file"这行替换为echo "匹配到文件: $xxx_file",先运行确认匹配的文件符合预期,再改回实际追加逻辑,避免误操作
  • YAML格式兼容:因为YAML对缩进敏感,如果你要追加的是多段YAML配置,注意提前调整好ENV_YAML_CONTENT、SWAGGER_YAML_CONTENT里的缩进,避免追加后文件格式失效
  • 权限问题:如果运行时提示无写入权限,给脚本加执行权限chmod +x 你的脚本名.sh后再运行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:15:06