【问题标题】:Bad substitution error on Solaris for arguments 10 and aboveSolaris 上参数 10 及以上的错误替换错误
【发布时间】:2012-10-21 10:46:10
【问题描述】:

我需要在脚本中处理超过 10 个参数。 我在下面的第 9 个参数之后声明和分配。

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

它在 linux 中运行良好,但在 solaris 中不行。我收到bad substitution

谁能帮我阅读超过 10 个的参数,这应该适用于 solaris 和 linux。

【问题讨论】:

    标签: shell solaris sh


    【解决方案1】:

    可能已经过时了,但根据this link

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 2016-05-21
      相关资源
      最近更新 更多