xiaochuan 发表于 2018-8-24 09:58:55

shell中的eval

举例如下:  set 11 22 33 44
  如果要输出最近一个参数,即44,可以使用如下命令,
  echo $4
  但是如果我们不知道有几个参数的时候,要输出最后一个参数,大家可能会想到使用$#来输出最后一个参数,
  如果使用命令:
  echo "\$$#"
  则得到的结果是 $4,而不是我们想要的44。这里涉及到一个变量间接引用的问题,我们的本意是输出 $4,默认情况下,命令后忽略变量间接引用的情况。
  这时候,就可以使用eval命令。
  eval echo "\$$#"
  得到的结果为44

页: [1]
查看完整版本: shell中的eval