我的hg
(mercurial)命令有一个bash别名,如下所示:
hg() {
if [[ $1 == 'up' ]]; then
if [[ $# == 2 ]]; then
_update_bookmark $2
else
up
fi
else
/bin/hg $@
fi
}
我的问题是最终的else
案例。我希望我在hg()
中收到的论点与/bin/hg
完全相同。当我执行类似hg commit -m "my message here"
的操作时会出现问题,并且它会像/bin/hg commit -m my message here
那样传递。我尝试了$@
和$*
- 不确定哪个更合适,但似乎都没有。有什么建议吗?
答案 0 :(得分:4)
您需要编写"$@"
(带双引号)以防止分词,同时仍然将已经分开的参数分开。