eval命令

这个命令以前没有用过,在网上查了一下资料,以为人家写的很好,因此复制过来了。html

  标题:linux命令eval的用法
  连接:http://blog.chinaunix.net/uid-21411227-id-1826706.html
  标题:linux shell中的eval
  连接:http://www.2cto.com/os/201311/255577.html
linux

 

  语法:eval cmdLine
shell

    eval会对后面的cmdLine进行两遍扫描,若是在第一遍扫面后cmdLine是一个普通命令,则执行此命令;若是cmdLine中含有变量的间接引用,则保证简介引用的语义。ide

  举例以下:ui

    set 11 22 33 44spa

    若是要输出最近一个参数,即44,能够使用以下命令,.net

    echo $4unix

    可是若是咱们不知道是几个参数的时候,要输出最后一个参数,你们可能会想到使用$#来输出最后一个参数,orm

  若是使用命令:htm

    echo "\$$#"

  则获得的结果是$4,而不是咱们想要的44.这里涉及到一个变量简介引用的问题,咱们的本意是输出$4,默认状况下,命令后忽略变量简介引用的状况。

  这时候,就能够使用eval命令。

  eval echo "\$$#"

  获得结果为44.

相关文章
相关标签/搜索