RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

    • 标准组件概述
    • 过滤器

    • 动作

      • 记录日志
      • 函数处理
      • 延迟
      • 节点组
      • 迭代器
      • 遍历
      • 命令
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
      • 汇聚
    • 转换器

    • 外部的

    • 流

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

命令

exec组件:执行本地命令组件。用于执行系统命令和脚本,适用于自动化运维、数据处理、CI/CD流水线等场景。

# 配置

字段 类型 说明 默认值
cmd string 要执行的命令,支持组件配置变量动态设置 无
args []string 命令的参数列表 无
log bool 是否记录命令的标准输出。true时会触发OnDebug回调 false
replaceData bool 是否用命令的标准输出替换消息内容传递给下一个节点 false
timeout int 命令执行超时时间(秒),0表示不设置超时 0

提示

安全提示:

  1. 默认情况下组件不允许执行任何命令,需要先配置允许执行的命令白名单
  2. 通过config.Properties.PutValue(KeyExecNodeWhitelist,"cmd1,cmd2")设置白名单,多个命令用逗号分隔
  3. 只有在白名单中的命令才允许执行,其他命令会被拒绝
  4. 可以通过metadata的workDir字段指定命令的工作目录,如:Metadata.PutValue("workDir","./data")

# Relation Type

  • Success: 命令执行成功,消息将通过Success链路由
  • Failure: 以下情况消息将通过Failure链路由:
    • 命令不在白名单中
    • 命令执行失败或返回非零状态码
    • 执行超时
    • 工作目录不存在

# 执行结果

  • 当replaceData=true时:
    • 命令的标准输出内容会替换msg.Data
    • 标准错误输出会记录到metadata中
  • 当replaceData=false时:
    • msg.Data保持不变
    • 命令输出可通过metadata访问

# 配置示例

  {
  "id": "s1",
  "type": "exec",
  "name": "执行本地命令",
  "configuration": {
    "cmd": "ls",
    "args": ["."]
  }
 }
1
2
3
4
5
6
7
8
9
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
遍历
汇聚

← 遍历 汇聚→

Theme by Vdoing | Copyright © 2023-2025 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式