[英]gitlab ci bash script variable modification
在 GitLab CI 腳本中我想
So for that I have tried to use sed, but it's not working in GitLab Script (working on bash shell locally)
export BRANCH_NAME={$CI_COMMIT_REF_NAME} | sed 's/\.[^.]*$//' | sed 's/[^0-9.]//g'
知道這里缺少什么嗎?
如果 sed 在這里不起作用,那么還有其他選擇可以實現同樣的效果嗎?
編輯:根據@WiktorStribiżew - echo "$CI_COMMIT_REF_NAME" | sed 's/.[^.] $//' | sed 's/[^0-9.]//g' - 出口 BRANCH_NAME=${CI_COMMIT_REF_NAME} | sed 's/.[^.] $//' | sed 's/[^0-9.]//g'
回聲工作,但出口不是
使用sed
$ export BRANCH_NAME=$(echo "$CI_COMMIT_REF_NAME" |sed 's/[A-Za-z]*//g;s/\([0-9]*\.[0-9]*\)\.[^ ]*/\1/g')
首先,刪除所有文本,包括您需要的第二個點
sed 's/\([^.]*\.[^.]*\).*/\1/'
sed 's/\.[^.]*$//'
sed 命令刪除最后一個點和它后面的任何文本。
接下來,你一定是打錯了,你實際上是想寫${CI_COMMIT_REF_NAME}
而不是{$CI_COMMIT_REF_NAME}
。
所以,你可能會更好
export BRANCH_NAME=$(echo "$CI_COMMIT_REF_NAME" | sed 's/\([^.]*\.[^.]*\).*/\1/' | sed 's/[^0-9.]//g')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.