代码之家  ›  专栏  ›  技术社区  ›  user4160045

bash-引号中的变量

  •  4
  • user4160045  · 技术社区  · 11 年前

    我正在尝试创建一个bash函数,以自动添加工作树中未跟踪或修改的所有内容,提交并推送。

    这是它的样子:

    gcp() {
        git add -- .;
        git commit -m \"$1\";
        git push origin $2;
    }
    

    然而,当我测试它时,我得到:

    $ gcp "test this" master
    error: pathspec 'this"' did not match any file(s) known to git.
    

    如何使变量周围的引号正确运行?

    1 回复  |  直到 11 年前
        1
  •  6
  •   petersohn    11 年前

    你不应该逃避引号。此外,我建议引用所有论点。也许你的分支有一个空间,谁知道呢?如果在一行中放入更多语句,则只需要分号。

    gcp() {
        git add -- .
        git commit -m "$1"
        git push origin "$2"
    }