我寫bash腳本形成JSON文件:字符串猛砸
#!/bin/bash
json_string=$(<product.info.json)
echo "$json_string"
vers=%major_version%.%patch_version%
date=`date +%%Y-%%m-%%d:%%H:%%M:%%S`
echo VERSION: $vers
echo DATE: $date
result_string=$json_string
result_string=${result_string/_DATE_/$date};
result_string=${result_string/_VERSION_/$vers};
echo "$result_string" > "User_Part/product.info.json"
json_string=$(<User_Part/product.info.json)
echo "$json_string
它的控制檯進行:
[14:09:26][Step 4/4] {
[14:09:26][Step 4/4] "release":{
[14:09:26][Step 4/4] "version":null
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "product":{
[14:09:26][Step 4/4] "group":"CMS",
[14:09:26][Step 4/4] "name":"CMS_prod",
[14:09:26][Step 4/4] "version":"_VERSION_"
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "application":{
[14:09:26][Step 4/4] "name":"OAPI",
[14:09:26][Step 4/4] "appl_id":"6150",
[14:09:26][Step 4/4] "version":"_VERSION_",
[14:09:26][Step 4/4] "date":"_DATE_",
[14:09:26][Step 4/4] "detail":null,
[14:09:26][Step 4/4] "vcs":{
[14:09:26][Step 4/4] "hash":null,
[14:09:26][Step 4/4] "branch":null
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "build":{
[14:09:26][Step 4/4] "number":null,
[14:09:26][Step 4/4] "url":null
[14:09:26][Step 4/4] }
[14:09:26][Step 4/4] }
[14:09:26][Step 4/4] }
[14:09:26][Step 4/4] VERSION: 003.09
[14:09:26][Step 4/4] DATE: 2016-08-23:14:09:26
[14:09:26][Step 4/4] {
[14:09:26][Step 4/4] "release":{
[14:09:26][Step 4/4] "version":null
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "product":{
[14:09:26][Step 4/4] "group":"CMS",
[14:09:26][Step 4/4] "name":"CMS_prod",
[14:09:26][Step 4/4] "version":"003.09"
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "application":{
[14:09:26][Step 4/4] "name":"OAPI",
[14:09:26][Step 4/4] "appl_id":"6150",
[14:09:26][Step 4/4] "version":"_VERSION_",
[14:09:26][Step 4/4] "date":"2016-08-23:14:09:26",
[14:09:26][Step 4/4] "detail":null,
[14:09:26][Step 4/4] "vcs":{
[14:09:26][Step 4/4] "hash":null,
[14:09:26][Step 4/4] "branch":null
[14:09:26][Step 4/4] },
[14:09:26][Step 4/4] "build":{
[14:09:26][Step 4/4] "number":null,
[14:09:26][Step 4/4] "url":null
[14:09:26][Step 4/4] }
[14:09:26][Step 4/4] }
[14:09:26][Step 4/4] }
DATE設置,但VERSION不,我不能理解爲什麼。請幫我解決這個問題。
也許有更美麗的方式來做到這一點,腳本在TeamCity中的構建代理服務器中執行。
我看到了[[14:09:26] [步驟4/4]版本:003.09'。那麼這意味着VERSION沒有設置?另外,你知道['jq'](https://stedolan.github.io/jq/)嗎?它是一個在shell腳本中解析JSON的工具。對你來說,這可能比你寫的這個腳本更有用。 – fedorqui
我無法使用jq,因爲我無法將其安裝在服務器中。我的意思是「版本」:第二行中的「_ VERSION_」。近至今。 –
好的,我明白了。試着簡化你的例子,並提供一個[mcve]的內容'product.info.json' – fedorqui