【发布时间】:2015-06-30 11:13:43
【问题描述】:
我在 bash 脚本中找到了以下命令:
git blame $NOT_WHITESPACE --line-porcelain "${2-@}" -- "$file"
${2-@} 是什么意思?试一试,它返回第二个参数,如果不存在则返回“@”。 According to the documentation、${2:-@} 也应该这样做。我试过了,它确实是一样的。有什么不同?它记录在哪里?手册页似乎没有说明这种表示法。
【问题讨论】:
-
见
man bash,Parameter Expansion。这两种形式没有区别,但据我记得第二种形式${2:.@}应该是首选。 -
@helpermethod 略有不同。看我的回答。
-
@fedorqui 谢谢指正,完全忘记了区别。
标签: bash parameters