我想获得最新git commit hash的前8个字符。要检索git HEAD哈希,我使用git rev-parse HEAD
。我发现here我可以使用${string:position:length}
获取子字符串。但我不知道如何将它们两者结合起来(如果可能的话,在单行中)。我的尝试
${"`git rev-parse HEAD`":0:8}
错了。
答案 0 :(得分:4)
您无法通过调用其中的命令来组合BASH substring指令:
相反,您可以使用:
head=$(git rev-parse HEAD | cut -c1-8)
或者旧的faishon 2步骤:
head=$(git rev-parse HEAD)
head=${head:0:8}
答案 1 :(得分:0)
使用sed
:
git rev-parse HEAD | sed 's/^\(.\{,8\}\).*$/\1/g'
答案 2 :(得分:0)
out=`git rev-parse HEAD`
sub=${out:0:8}
example:
a="hello"
b=${a:0:3}
bash-3.2$ echo $b
hel
它是一个两步过程,首先提取git
命令的输出,这是一个字符串。 ${string:pos:len
将从长度为len