linux 命令之eval

eval语法:
eval command-line
command-line:是在终端上键入的一条命令行。
如:

$ eval pwd
/home/gino

eval 在命令执行前,会将命令扫描两次,第一次是做变量的替换,第二次是用替换后的命令执行
如:

$ a=10
$ b=a
$ echo $b
a
$ echo \$$b
$a
$ eval echo \$$b  
10

##eval echo \$$b 执行过程
## 第一次扫描命令时做替换 把\$$b   替换成 $a
## 第二次扫描用替换后的进行执行  执行 echo $a
$ a1=hello
$ b=1
$ echo $a$b  ##在这里 $a没定义是空,$b1  输出的为1 
$ eval echo ‘$‘a$b   ##  这里执行 变成了 eval echo $a1

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。