2017-09-11 90 views
1

嗨,我需要編寫一個腳本編號jenkins構建版本。腳本編號jenkins構建版本

1.0.0.0 第4位應該增加到19,之後第3位應該是1. 1.0.0.1,1.0.0.2 ..... 1.0.0.19,1.0.1.0,1.0.1.1。 ...... 1.0.1.19

#!/bin/bash 

file="/root/script_version/value_file.txt" 
source $file 
echo $abc 

for ((abc=0; abc<=19; abc++)) 
    do 
     echo $abc > $file 
     echo $abc 
     done 

     if ["$abc" -gt 19] 
     then 
     xyz=$xyz+1 
     echo $xyz > $file 
     set abc=0 
     echo $abc > file 
     fi 

value_file.txt 

abc=0 
xyz=0 

回答

0

我不知道什麼$abc$xyz應該在你的例子做的事情。下面應該工作:

value_file="/root/script_version/value_file.txt" 
version=$(cat $value_file) 

while IFS='.' read -r version major minor patch 
do 
    if [[ "$patch" = "19" ]]; then 
    minor=$((minor+1)) 
    patch=0 
    else 
    patch=$((patch+1)) 
    fi 

    echo "${version}.${major}.${minor}.${patch}" > $value_file 

done <<< "$version" 

閱讀.文件,拆分和檢查的最後一個值。如果其編號爲19,請更改回0並將值增加到左側。