![我的默认参数在 bash 脚本中无法工作](https://linux22.com/image/154547/%E6%88%91%E7%9A%84%E9%BB%98%E8%AE%A4%E5%8F%82%E6%95%B0%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%97%A0%E6%B3%95%E5%B7%A5%E4%BD%9C.png)
客观的:在我的脚本中设置默认消息来处理对 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
可以在此处找到默认值和替代值的文档: