【发布时间】:2015-02-03 01:30:27
【问题描述】:
我有一个用于 Git 的脚本
function push() {
git add --all
git commit -m $1
git push
}
我调用它
p "Commit message"
我的问题是,我如何将p 之后的所有内容作为一个参数传递,本质上将p 之后的所有内容作为提交消息传递 - 重要的是 - 我想知道是否有一种方法可以不使用引号
【问题讨论】:
-
在函数中使用
"$*"而不是"$1"。见Positional Parameters。 -
成功了,谢谢! d.pr/i/10wgo/F1z2FPXo
-
使用
"Commit Message","$1"会很好;没有引用$1这就是问题所在。 -
顺便说一句,最好避免使用
function关键字——只需push() {就足以定义一个函数,这样你的函数就可以在任何POSIX shell 中工作,而不是特定于shell带有 bash 扩展。