在Bash中捕获字符串作为参数

时间:2015-02-02 15:43:06

标签: git bash shell

我有一个用于Git的脚本

function push() {
  git add --all
  git commit -m $1
  git push
}

我通过

调用
p "Commit message"

我的问题是,如何将p之后的所有内容作为一个参数传递,基本上将p之后的所有内容作为提交消息传递 - 重要的是 - 我想知道是否有办法执行此操作没有引号

1 个答案:

答案 0 :(得分:1)

如果这是您拥有的唯一参数,则可以在脚本中使用$*来获取所有参数。另外,引用它们:

function push() {
    git add --all
    git commit -m "$*"
    git push
 }

您也可以使用"$1",留出更多参数,但在这种情况下,必须在调用函数时使用引号(例如,$ push "Some message"而不是仅仅$ push Some message)。它更正确,但为了这个功能目的 - 只是为了节省时间 - 它可能更有用。

无论如何,我认为拥有这样的功能并不是一个好主意。 git add是审核您的提交,决定要包含哪些内容以及为其他提交留下什么,以及构建一个非常好的提交消息的好时机。另外,您经常要延迟push,直到您有几次提交。

我建议您使用类似tig的内容来轻松选择要播放的内容等。