对于参数10及更高版本,Solaris上的替换错误

时间:2012-10-21 10:46:11

标签: shell solaris sh

我需要在脚本中处理10个以上的参数。 我在第9个参数之后声明并分配如下。

param10=${10}
param11=${11}
param12=${12}

它在linux中运行良好,但在solaris中运行不正常。我得到了bad substitution

任何人都可以帮助我阅读10个以上的参数,这应该适用于solaris和linux。

1 个答案:

答案 0 :(得分:3)

可能已过时,但根据this link

  

Bourne shell仅支持位置参数$ 0到$ 9。   要访问参数10或更高,您必须使用“shift”   命令。 Shift将移动2美元到1美元,3美元到2美元等等。(0美元是名称   被调用的命令永远不会移动)。此外,你可以转移更多   而不是一次一个位置。例如,您可以使用$ 1到$ 9,   然后发出命令“shift 9”并处理变量10到19   再次使用变量$ 1到$ 9。