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を返しますが、ここで部分文字列をどのように生成しますか?

2行に分けるとうまくいきます。

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

おすすめ記事