我有回购git@gitlab.com:alex93ushakov-mail/test.git
。
在Bash中,我想编写一个函数,它将git url作为参数并返回存储库名称'test'。怎么做?
答案 0 :(得分:4)
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"
输出:
test
要避免追踪换行符:将选项-n
添加到echo
答案 1 :(得分:0)
你可以试试一个正则表达式:
s/.+\/(\w+)\\\.git/$+/
不确定bash是否等同于我通常使用的perl,但这可行。