功能说明:告知shell取出eval的参数,重新运算求出参数的内容。
语 法:eval [参数]
补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。
参 数:参数不限数目,彼此之间用分号分开。
1.执行命令行之前扫描它两次,再次运算求出参数的内容。
[root@localhost blue]# a="ls |more"
[root@localhost blue]# $a #ls
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
[root@localhost blue]# echo 'eval echo $$#' > last
[root@localhost blue]# cat last
eval echo $$#
[root@localhost blue]# ./last 1 2 3 4
4