私のデフォルトパラメータはbashスクリプトでは機能しません。

私のデフォルトパラメータはbashスクリプトでは機能しません。

目的:Bitbucketへのコミットを処理するように私のスクリプトのデフォルトメッセージを設定します。

質問:私のコンソールからエラーが返されます。

Google で見た内容に基づいて、次のスクリプトを試しました。

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

私が言ったように、以下に再現されたエラーを返します。

コミットに何も追加されていませんが、追跡されていないファイルに対してエラーが発生しました。 src refspec ハンドルが何も一致しません。エラー:src refspec programmaticScrollingに一致するエントリがありません。エラー:src refspec調整が一致するものがありません。エラー: 'へのいくつかの参照をプッシュできませんでした。https://bitbucket.org/yyyyyyy.git'

答え1

これは小さな構文の問題です。その他のPOSIX準拠シェルでbashデフォルト値を使用するときの重要な区切り文字はで:-ありません=

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

デフォルト値とオーバーライド値のドキュメントはここにあります。

関連情報