添加param到bash函数,完全丢失

时间:2017-03-24 01:11:11

标签: bash

我想我是在正确的主题中创造这个,但如果更合适的事情有意义,请随时告诉我。总计bash noob。

我在.bash_profile中有以下功能来简化GIT的add-> commit->推送流程。

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

我这样触发它:

> lazygit "Did all the things"

我想将其更新为有一个可选第二个参数,它会改变提交消息。

所以对此:

> lazygit "Did all the things" "Staging"

它会这样做。

git commit -a -m "$1 [ Deploy:$2 ]"

如何将此可选参数添加到我的函数中?感谢。

1 个答案:

答案 0 :(得分:3)

只需编写git命令:

git commit -a -m "$1${2:+" [ Deploy:$2 ]"}"

如果您阅读bash(1)手册页的“参数扩展”,您会发现:

  

<强> ${parameter:+word}

     

使用替代值。如果参数为null或未设置,则不执行任何操作   替换,否则单词的扩展被替换。

如果$2具有非空值,则[ Deploy:$2 ]文本将包含在您的提交消息中。

相关问题