
*被展开,您可以使用sed而不是grep并立即获得分支的名称:
branch=$(git branch | sed -n -e 's/^* (.*)/1/p')
以及Noufal Ibrahim建议的使用git symbolic-ref的版本
branch=$(git symbolic-ref HEAD | sed -e 's,.*/(.*),1,')
要详细说明扩展(如marco所做的那样),扩展是在回显中进行的,当您
echo $test使用包含“ * master”的$
test时,*将根据常规扩展规则进行扩展。为了抑制这种情况,必须引用该变量,如marco:所示
echo"$test"。另外,如果您在回显星号之前将其删除,则一切都会很好,例如,
echo ${test:2}仅回显“master”。或者,您可以按照您已经提出的建议重新分配它:
branch=${test:2}echo $branch如您所愿,这将回显“ master”。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)