![](/img/trans.png)
[英]How to replace a variable in yml file with a gitlab ci pipeline variable using sed
[英]Gitlab CI - set variable using export
我有以下 URL:
NEW_URL = google.com/parentproject/subproject/ccc.git
echo $NEW_URL | rev | cut -d"/" -f1 | rev | cut -c -3
ccc
上面的命令工作得很好但是当我说
导出 DIR="$(NEW_URL | rev | cut -d"/" -f1 | rev | cut -c -3)"
我得到没有这样的文件或目录错误..我尝试在 pipe 分隔符周围使用转义字符,但我没有得到结果,只有错误..我试图从 url 中获取 ccc 并将其导出到另一个变量...有人能帮帮我吗?
注意:我在 Gitlab CI 中使用它并尝试获取最后一个 / 和.git 之间的目录名称
您需要使用echo $NEW_URL
而不仅仅是$NEW_URL
。 如所写,您的代码是:
google.com/parentproject/subproject/ccc.git | rev | cut ...
代替
echo google.com/parentproject/subproject/ccc.git | rev | cut ...
所以 bash 正在尝试将google.com/parentproject/subproject/ccc.git
作为命令运行,根据您的错误消息,该命令不存在。
作为旁注,您可以使用basename
完成您想要完成的工作:
$ filename=$(basename ${NEW_URL})
$ echo ${filename}
ccc.git
$ cutname="${filename%.*}"
$ echo ${cutname}
ccc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.