您的位置:首页 > 运维架构 > Shell

linux shell中eval工具的作用

2012-11-02 14:05 190 查看
在shell 脚本中经常能见到 eval 工具的使用,先前总是不能对其真正的理解,最近查看了一些资料,并做了几个测试的例子,现在终于搞清楚它的意思了。
它相当于 c 语言中的宏定义,当在一个赋值语句的前面加上 eval 时,它就会将后面表达式中以$ 开头的所有变量进行整体替换。

例如:

var1="abcd"

tmp=var

eval test="$"$var"1"

echo $test

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

abcd

语法:eval cmdLine

eval会对后面cmdLine进行两边扫描,如果第一遍扫描后cmdLine是一个普通命令,则执行此命令;

如果cmdLine中含有变量的间接引用,则保证间接引用的语义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: