Como obter os primeiros 5 caracteres de um git commit hash id e armazená-lo em uma variável no bash?

4
${$(git rev-parse HEAD):0:5}
bash: ${$(git rev-parse HEAD):0:5}: bad substitution

git rev-parse HEAD retorna o hash id, mas como eu faço uma substring dele?

se eu dividi-lo em duas linhas, funciona.

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

Mas como faço isso em uma linha?

    
por Shuman 26.03.2016 / 07:28

2 respostas

12

Usando a opção --short :

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

$ x=$(git rev-parse --short=5 HEAD)
$ printf '%s\n' "$x"
90752
    
por 26.03.2016 / 12:46
2

O utilitário de corte deve fazer o que você quiser.

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

Por que uma linha?

    
por 26.03.2016 / 08:11

Tags