eval是一个十分好用的命令,在需要重新运行一些程序的时候,就可以执行此命令。主要的功能就是告知shell取出eval的参数,重新运算求出参数的内容。通过eval可以实现很多高阶的用法,这里主要简单介绍一下如何使用。
eval简介
1
用法格式:eval [参数]eval: eval [arg ...]用法比较简单。
2
功能:执行参数作为一个shell的命令补充说明:联合参数做为单个字符串,把字符串的结果作为shell的输入,并且执行结果的命令。
3
返回状态:返回命令的状态结果或者如果命令是空的,返回成功。
案例
1
简单的执行普通的shell程序例如:eval echo 'hello world'
2
执行含有字符串的命令给一个变量使用字符串赋值,然后运行。例如:myfile='cat test'eval $myfile就可以查看test 文件的内容。
3
eval取得最后一个参数使用如下脚本就可以测试#!/bin/bashecho 'Total of the arguments passed $#'echo 'The process Id is $$'echo 'Last argument os '$(eval echo \$$#)''具体如图
4
eval 取得任意参数根据上面的,我们可以改进上述命令,获得任意的参数都可以。增加两行示例echo 'cmd argument os '$(eval echo \$0)''echo 'lastone -1 argument os '$(eval echo \$[$#-1])''