Мой аргумент по умолчанию не работает в скрипте bash

Мой аргумент по умолчанию не работает в скрипте bash

цель: установить сообщение по умолчанию в моем скрипте для обработки коммитов в сторону Bitbucket

проблема: моя консоль возвращает мне ошибку

Следуя тому, что я увидел в Google, я попробовал следующий скрипт:

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

Как я уже сказал, он возвращает мне ошибку, воспроизведенную здесь:

ничего не добавлено в коммит, но присутствуют неотслеживаемые файлы ошибка: дескриптор спецификации ссылок источника не соответствует ни одному. ошибка: спецификация ссылок источника programmaticScrolling не соответствует ни одному. ошибка: корректировка спецификации ссылок источника не соответствует ни одному. ошибка: не удалось отправить некоторые ссылки в 'https://bitbucket.org/yyyyyyy.git'

решение1

Это незначительная проблема синтаксиса. В bash, и других оболочках, совместимых с POSIX, при использовании значения по умолчанию важным символом-разделителем является не :, а -или =.

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

Документацию по значениям по умолчанию и альтернативным значениям можно найти здесь:

Связанный контент