使用变量替换并替换字符串中的某些字符创建文件

时间:2019-04-05 12:51:20

标签: linux shell gitlab-ci

我正在制作一个gitlab-ci脚本,该脚本将带有一个commit标签(例如:0.1.6),并使用它来创建文件。但是,文件名不能带有“。”,我需要将其替换为“-”。 (新文件名将为“ 0-1-6”)

我一直在玩以下游戏:

$ string="0.1.6"
$ echo "$string" | tr . -
0-1-6

很显然,这不会创建文件名,而且我无法弄清楚如何合并两者(与echo或touch结合吗?),我不确定这是否是进行字符串替换的最佳方法与sed一起使用,但无法使其正常工作。如果有人对如何创建文件以及如何使用该提交标签用替换的字符命名提出建议,我将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:1)

touch $(echo "$string" | tr . -)

答案 1 :(得分:0)

您可以将字符替换为

"${string//./-}"

所以你可以

touch "${string//./-}"