【发布时间】:2013-08-21 12:57:39
【问题描述】:
这可能不是最发人深省的问题,但仍然引起了我的好奇心。我无法在网上找到任何答案(更不用说确定的答案了)。
在阅读 Advanced Shell Scripting 时,我遇到了 this section 关于命令行位置参数的内容,它指出第九个参数之后的任何内容都必须用 ${} (变量引用/替换的较长形式)包围。
简单地说,为什么必须将命令行参数 10(及以上)引用为 ${10}, ${11}... 而不是 $10, $11, ...?
【问题讨论】:
-
历史;原始的 Bourne shell 将
$12解释为${1}2(并且不允许${12}AFAICR)。
标签: bash shell command-line arguments