linux eval命令详解,linux命令详解——eval

shell中的eval

功能说明:从新运算求出参数的内容。

语  法:eval [参数]

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

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

1.eval命令将会首先扫描命令行进行全部的替换,憨厚再执行命令。该命令使用于那些一次扫描没法实现其功能的变量。该命令对变量进行两次扫描。这些须要进行两次扫描的变量有时候被称为复杂变量。linux

2.eval也能够用于回显简单变量,不必定时复杂变量。程序员

NAME=ZONEshell

eval echo $NAME等价于echo $NAME数据库

3.两次扫描bash

test.txt内容:hello shell world!函数

myfile="cat test.txt"测试

(1)echo $myfile  #result:cat test.txtui

(2)eval echo $myfile  #result:hello shell world!spa

从(2)能够知道第一次扫描进行了变量替换,第二次扫描执行了该字符串中所包含的命令

4.得到最后一个参数

echo "Last argument is $(eval echo \$$#)"

echo "Last argument is $(eval echo $#)"

shell 也提供了 eval 命令,如同熟悉的其余脚本语言,会将它的参数作为命令执行,初看会疑惑为何shell要提供两种动态执行命令字串的机制,可是通过仔细分析,才发现shel

你可能感兴趣的:(linux,eval命令详解)