• RestCloud ETL解决shell脚本参数化


     RestCloud ETL社区版是一款数据集成工具,提供可视化多数据管道构建、数据源管理、运行监控及权限管理功能。

    RestCloud平台中如何将变量传入shell脚本中使用,平台中有两种方式运行shell脚本,分别是组件内编写脚本代码调用脚本文件,根据不同的运行方式也有不同的获取变量的方式。

    1.组件内编写脚本

    组件内编写脚本的变量获取方式与其它组件获取变量的方式相同,使用${变量id}就可以获取到变量数据。如下图所示:

    这里做个简单的流程,把数据库表中的某个字段数据作为变量逐条输入到shell脚本当中。

    这里是数据库数据,流程中会将姓名作为变量。

    库表输入组件的配置这边略过,简单的能够成功读取输出数据就行。

     逐行输出这里需要将字段数据转成为变量数据输出到下一个节点。

     这里是shell脚本配置,写个简单的脚本,使用${变量id}调用上个节点传入的变量数据。

     运行之后可以看见已经成功通过${姓名}获取到了数据库输出的数据。

    2.调用脚本文件

    这个是调用已经写好的shell脚本文件,脚本文件中不用定义变量的名字,直接使用 $变量id 这种方式调用就可以成功调用流程中传入的变量。如下图:

     这里同样采用上面的流程和数据库,只是稍微修改了一下shell组件的脚本内容。

     因为是读取的脚本文件,这里需要填写一下脚本所在的目录。在shell脚本中运行文件以及使用${变量id}来获取变量即可,注意:若是多个变量就需要注意变量的顺序。

     这里进入到文件所在目录后使用pwd查看当前所在的路径地址。

     使用vim 文件名称 进入脚本文件编辑脚本代码,这里简单的打印第一个变量和一个hello,在文件中使用$1~$n来添加传到Shell的变量值。$1是第1变量、$2是第2变量…。

    配置完成,运行后查看结果。

     可以看到shell成功获取了变量数据,输出到了日志中。

     感谢您对我们的关注和支持!如需了解更多的功能,请加入RestCloud ETL社区免费下载体验,下载地址:https://etl.restcloud.cn

  • 相关阅读:
    如何解决跨境传输常见的安全及效率问题?
    C++基础——匿名对象介绍、拷贝对象时的一些编译器优化
    【计算机网络】HTTP协议以及无状态问题解决
    【Java SE】第三话·数据类型与变量
    操作系统拾遗(奇数篇)
    Postman知识汇总
    CsvHelper:一个轻便高性能的Csv文件读写操作开源库!
    挂耳式耳机品牌排行榜,五款目前排行靠前的耳机分享
    CPU架构
    青岛大学数据结构与算法——第1章
  • 原文地址:https://blog.csdn.net/RestCloud/article/details/125427768