${$(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
Cutユーティリティはあなたが望むことをするはずです。
$ x=$(git rev-parse HEAD | cut -c1-5) && echo $x
なぜ1行なのか?