如何使用 Linux shell 腳本更改 pom.xml 版本

如何使用 Linux shell 腳本更改 pom.xml 版本

我有一個pom.xml包含一行

<version>x.y.z-tag</version>

在哪裡標籤可能是:快照、alpha、beta 或發布版。

XYZ是一個數位版本,例如:1.0.0 或 1.2.1 ....

我想透過給定參數對該行進行更改。例如:

現有版本:<version>1.0.0-snapshot</version>

給定參數:1.0.1-alpha

輸出:<version>1.0.1-alpha</version>

./script.sh newVersion pom.xml

PS:pom.xml 包含很多以<version>... 開頭的行,因此我的更改應該應用到<version>以下模式:x.y.z-tag

答案1

#!/bin/sh            
tag=$(grep '<version>' $2 | sed 's/<version>[^-]*-\(.*\)<\/version>/\1/')
sed -i "s/<version>.*<\/version>/<version>$1-${tag}<\/version>/" $2

將其另存為script.sh,使其可執行 ( chmod +x script.sh) 並使用以下命令運行它:

./script.sh <new_version> pom.xml

相關內容