我有repo git@gitlab.com:alex93ushakov-mail/test.git
。
在bash中,我想编写一个将git URL作为参数的函数,并返回存储库名称为" test"。如何做?
function foo() {
local a="$1" # copy first argument to local variable a
a="${a##*/}" # strip left part including /
echo "${a%.git*}" # strip trailing .git
}
foo "git@gitlab.com:alex93ushakov-mail/test.git"
输出:
测试
避免尾随newline:将选项 -n
添加到 echo
您可以尝试一个正则:
s/.+/(w+)\.git/$+/
不确定bash是否等于我通常使用的perl,但这会起作用。