Meu argumento padrão não funciona no script bash

Meu argumento padrão não funciona no script bash

objetivo: defina uma mensagem padrão em meu script para lidar com commits no Bitbucket

problema: meu console me retorna um erro

Seguindo o que vi no google, tentei o seguinte script:

commit_message=${1:"checkpoint commit"} 
git add .
git commit -m $commit_message
git push origin 

Como já disse, me retorna um erro, reproduzido aqui:

nada adicionado ao commit, mas arquivos não rastreados apresentam erro: o identificador src refspec não corresponde a nenhum. erro: src refspec programmaticScrolling não corresponde a nenhum. erro: o ajuste src refspec não corresponde a nenhum. erro: falha ao enviar algumas referências para 'https://bitbucket.org/yyyyyyy.git'

Responder1

É um pequeno problema de sintaxe. Em bashe em outros shells compatíveis com POSIX, ao usar um valor padrão, o caractere separador importante não é o :, é o -ou =.

commit_message=${1:-"checkpoint commit"} 
git add .
git commit -m "$commit_message"
git push origin

A documentação para valores padrão e valores alternativos pode ser encontrada aqui:

informação relacionada