红联Linux门户
Linux帮助

linux shell 中 eval 工具的作用

发布时间:2006-08-18 15:50:42来源:红联作者:koov
  在 shell 脚本中经常能见到 eval 工具的使用,先前总是不能对其真正的理解,最近查看了一些资料,并做了几个测试的例子,现在终于搞清楚它的意思了

  它相当于 c 语言中的宏定义,当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换


例如:

var1="1234 4556"
tmp=var

eval test="$"$var"1"

echo $test

那么就会在屏幕上显示出 :

1234 4556
文章评论

共有 7 条评论

  1. 只爱五三天 于 2013-04-03 04:56:09发表:

    学习中

  2. 于 2013-04-02 14:02:58发表:

    代码错了,eval test="$"$var"1"这里应该为eval test="$"$tmp"1"才对

  3. xht0529 于 2009-06-02 18:17:13发表:

    学到不少东西

  4. xht0529 于 2009-05-19 15:02:33发表:

  5. wang7131984 于 2009-05-18 22:53:09发表:

    eval是将其后的字符串当成命令来执行如
    eval "ls -l"
    就是
    命令ls -l

  6. dingjing 于 2009-05-18 20:43:53发表:

    我在fedora8上试了一下,根本行不通,再说,test是命令,用作变量可以吗?

  7. 静谊 于 2006-08-18 20:43:14发表:

    支持,顶