如何获取 git commit hash id 的前 5 个字符并将其存储在 bash 中的变量中?

如何获取 git commit hash id 的前 5 个字符并将其存储在 bash 中的变量中?
${$(git rev-parse HEAD):0:5}
bash: ${$(git rev-parse HEAD):0:5}: bad substitution

git rev-parse HEAD返回哈希 ID,但如何从中生成子字符串?

如果我把它分成两行,它就可以了。

x=$(git rev-parse HEAD)
echo ${x:0:5}

但我该如何在一行中完成呢?

答案1

使用--short选项:

$ git rev-parse --short=5 HEAD
90752

$ x=$(git rev-parse --short=5 HEAD)
$ printf '%s\n' "$x"
90752

答案2

cut 实用程序应该执行您想要的操作。

$ x=$(git rev-parse HEAD | cut -c1-5) && echo $x

为什么是一根线?

相关内容