bash - 引号中的变量

4 git variables bash quotes

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

这就是它的样子:

gcp() {
    git add -- .;
    git commit -m \"$1\";
    git push origin $2;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我测试它时,我得到:

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

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

pet*_*ohn 6

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

gcp() {
    git add -- .
    git commit -m "$1"
    git push origin "$2"
}
Run Code Online (Sandbox Code Playgroud)