码迷,mamicode.com
首页 > 系统相关 > 详细

Linux里的eval命令

时间:2017-03-22 21:06:12      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:linux命令   间接引用   用法   blog   family   china   shell   targe   间接   

  这个命令之前没有用过,在网上查了一下资料,觉得人家写的很好,所以复制过来了。

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

 

  语法:eval cmdLine

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

  举例如下:

    set 11 22 33 44

    如果要输出最近一个参数,即44,可以使用如下命令,

    echo $4

    但是如果我们不知道是几个参数的时候,要输出最后一个参数,大家可能会想到使用$#来输出最后一个参数,

  如果使用命令:

    echo "\$$#"

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

  这时候,就可以使用eval命令。

  eval echo "\$$#"

  得到结果为44.

    

  


Linux里的eval命令

标签:linux命令   间接引用   用法   blog   family   china   shell   targe   间接   

原文地址:http://www.cnblogs.com/qingjiaowoxiaoxioashou/p/6601788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!