Linux脚本 – 内容替换

Linux脚本 – 内容替换

场景

每次发布前提供version.json,并替换json文件中的关键字

{
  "resources": [
    {
      "version": "#VERSION#_#TIMESTAMP#",
      "devBuildTime": #TIMESTAMP#,
      "devBuildTimeFormat": "#BUILD_TIME#",
    }
  ],
  "interval": 600
}

方案

使用linux的流编辑器 sed

使用

build.sh

#!/usr/bin/env bash

# 版本信息
VERSION=$1
TIMESTAMP=$2 
BUILD_TIME=$3

sed -i 's/#VERSION#/'$VERSION''/ "version.json"
sed -i 's/#TIMESTAMP#/'$TIMESTAMP''/ "version.json"
sed -i 's/#BUILD_TIME#/'$BUILD_TIME''/ "version.json"

运行

TIMESTAMP=$(date "+%s")
BUILD_TIME=$(date "+%Y-%m-%d\/%T")
VERSION="1.0.0"

sh build.sh $VERSION $TIMESTAMP $BUILD_TIME