如何在Shell中使用eval语句-创新互联

如何在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
1.cpp
2
2.cpp
3
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
4



另外其他高级用法后作补充!
eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。
上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。
其实它是bash的难点,是高级bash程序员的必修之技。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。


当前标题:如何在Shell中使用eval语句-创新互联
当前路径:http://scyanting.com/article/deoihj.html