A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

Shell中eval的用法示例

时间:2015-07-10 16:03来源:a5源码作者:zhao浏览:30
这篇文章主要介绍了Shell中eval的用法示例,本文给出多个示例来讲解它的使用,需要的朋友可以参考下……

功能说明:告知shell取出eval的参数,重新运算求出参数的内容。

语  法:eval [参数]

补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。

参  数:参数不限数目,彼此之间用分号分开。

1.执行命令行之前扫描它两次,再次运算求出参数的内容。

[root@localhost blue]# a="ls |more"

[root@localhost blue]# $a #ls

将 | 和 more 看成了参数,而不是将文件按页显示

ls: cannot access |more: No such file or directory

[root@localhost blue]# eval $a #取出

其参数并再次执行它们

1.cpp

2.cpp

3.cpp

[root@localhost test]# a="123"

[root@localhost test]# echo '${'"a"'}'

${a}

[root@localhost test]# eval echo '${'"a"'}' #再次执行${a}命令

123

2.eval取得最后一个参数

[root@localhost blue]# echo 'eval echo $$#' > last

[root@localhost blue]# cat last

eval echo $$#

[root@localhost blue]# ./last 1 2 3 4

另外其他高级用法后作补充!

eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。

上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。

其实它是bash的难点,是高级bash程序员的必修之技。