shell读取构建文件信息生成json字符串

需求:脚本读取文本文件中的构建信息,打印信息,并生成json格式字符串,json字符串用于robot framework调用Jenkins打包用(需要job_name,job_tag及job_type)

脚本如下:

#!/usr/bin/sh

### 输入文件格式如下:
# xxx需求--接口改动       http://svn.xxx.com/xxx/refund_back/branches/3.0.8/ 
# xxx需求--接口改动       http://svn.xxx.com/xxx/refund_core/branches/3.2.7/ 
# xxx需求--接口改动       http://svn.xxx.com/xxx/refund_server/branches/2.6.1/ 
# xxx需求--接口改动       http://svn.xxx.com/xxx/refund_facade/branches/2.0.1/

#各模块名数组
MOD=(refund_domain refund_facade refund_core refund_server refund_back refund_manager_core refund_manager_app)
SPLINE="-------------------------------------------------------------"

#脚本用法,并抓取文件内容到NCSTR变量中
[ $# -lt 1 ] && echo "Usage: `basename $0` + build_info_file" && exit -1 || INFL=$1 && NCSTR=`cat $INFL| grep "http" | sed -e "s#.*\(http.*/\).*#\1#g" -e '/^$/d'	
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要利用Shell脚本提取系统信息生成JSON文件,可以按照以下步骤进行操作: 1. 创建一个Shell脚本文件,比如`system_info.sh`,并在文件开头添加Shebang:`#!/bin/bash`。 2. 使用各种命令和工具来提取系统信息,并将其存储在变量中。例如,可以使用`uname -a`命令获取系统的内核版本,使用`lsb_release -d`命令获取发行版信息,使用`free -m`命令获取内存使用情况等。 3. 创建一个关联数组(associative array),用于存储系统信息的键值对。键(key)表示信息的类型,值(value)表示信息的具体内容。例如,可以使用`declare -A sys_info`命令创建一个关联数组。 4. 将提取到的系统信息存储到关联数组中。将信息的类型作为键,信息的内容作为值。例如,可以使用`sys_info["kernel_version"]=$(uname -a)`命令将内核版本信息存储到关联数组中。 5. 使用JSON格式来表示关联数组中的信息,并将其写入到一个JSON文件中。可以使用`echo`命令结合字符串拼接的方式生成JSON格式的字符串,并使用重定向符号将其写入到文件中。例如,可以使用以下命令将关联数组中的信息写入到`system_info.json`文件中: ```shell echo "{" for key in "${!sys_info[@]}"; do echo "\"${key}\": \"${sys_info[$key]}\"," done echo "}" > system_info.json ``` 6. 运行Shell脚本生成JSON文件。在终端中执行`./system_info.sh`命令,即可运行脚本生成`system_info.json`文件。 通过以上步骤,你可以使用Shell脚本提取系统信息并将其保存为JSON文件,方便后续的处理和使用。请根据实际需要调整脚本中的命令和信息类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值