我有以下URL:
NEW_URL=谷歌.com/parentproject/subproject/ccc.git
echo $NEW_URL | rev | cut -d"/" -f1 | rev | cut -c -3
ccc
上面的命令运行得很好,但当我说时
export DIR="$(NEW_URL|rev|cut-d"/"-f1|rev|cut-c-3(";
我得到没有这样的文件或目录错误。。我试图在管道分隔符周围使用转义符,但没有得到结果,只有一个错误。。我正试图从该url中提取ccc,并将其导出到另一个变量。。。有人能帮帮我吗?
注意:我在Gitlab CI中使用了这个,并试图获取last/和.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