我的默认参数在 bash 脚本中无法工作

我的默认参数在 bash 脚本中无法工作

客观的:在我的脚本中设置默认消息来处理对 Bitbucket 的提交

问题:我的控制台返回错误

根据我在谷歌中看到的内容,我尝试了以下脚本:

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

这是一个小语法问题。在bash、 和其他兼容 POSIX 的 shell 中,当使用默认值时,重要的分隔符不是:,而是-=

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

可以在此处找到默认值和替代值的文档:

相关内容