在 shell 脚本中经常能见到 eval 工具的使用,先前总是不能对其真正的理解,最近查看了一些资料,并做了几个测试的例子,现在终于搞清楚它的意思了
它相当于 c 语言中的宏定义,当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换
例如:
var1="1234 4556"
tmp=var
eval test="$"$var"1"
echo $test
那么就会在屏幕上显示出 :
1234 4556


只爱五三天 于 2013-04-03 04:56:09发表:
学习中
于 2013-04-02 14:02:58发表:
代码错了,eval test="$"$var"1"这里应该为eval test="$"$tmp"1"才对
xht0529 于 2009-06-02 18:17:13发表:
学到不少东西
xht0529 于 2009-05-19 15:02:33发表:
顶
wang7131984 于 2009-05-18 22:53:09发表:
eval是将其后的字符串当成命令来执行如
eval "ls -l"
就是
命令ls -l
dingjing 于 2009-05-18 20:43:53发表:
我在fedora8上试了一下,根本行不通,再说,test是命令,用作变量可以吗?
静谊 于 2006-08-18 20:43:14发表:
支持,顶