Mi argumento predeterminado no funciona en el script bash

Mi argumento predeterminado no funciona en el script bash

objetivo: establece un mensaje predeterminado en mi script para manejar las confirmaciones hacia Bitbucket

problema: mi consola me devuelve un error

Siguiendo lo que he visto en Google, probé el siguiente script:

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

Como he dicho me devuelve un error, reproducido aquí:

no se agregó nada para confirmar, pero los archivos sin seguimiento presentan un error: el identificador src refspec no coincide con ninguno. error: src refspec programmaticScrolling no coincide con ninguno. error: el ajuste de src refspec no coincide con ninguno. error: no se pudieron enviar algunas referencias a 'https://bitbucket.org/yyyyyyy.git'

Respuesta1

Es un problema menor de sintaxis. En bashy otros shells compatibles con POSIX, cuando se utiliza un valor predeterminado, el carácter separador importante no es el :, sino el -o =.

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

La documentación para los valores predeterminados y los valores alternativos se puede encontrar aquí:

información relacionada