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

왜 스레드인가?

관련 정보