Linux 下eval命令揭秘

  eval 命令中文意思是“重新计算求出参数内容”,该命令大致有以下几个作用

  1.  将变量名替换后并执行
beautifulsoup4-4.6.0  Desktop        Documents  hc.war       lxml-3.8.0  myblog  Pictures  requests-2.18.2  Templates  Videos
code                  Django-1.9.13  Downloads  Hellodjango  Music       perl5   Public    software         test.html
[peteryrcc@localhost ~]$ cat test.html
<title>python.............HTML..&lt;h3_....</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu.svg" />

[peteryrcc@localhost ~]$ a='cat test.html'
[peteryrcc@localhost ~]$ echo $a
cat test.html
[peteryrcc@localhost ~]$ eval a
bash: a: command not found...
[peteryrcc@localhost ~]$ eval $a
<title>python.............HTML..&lt;h3_....</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu.svg" />
[peteryrcc@localhost ~]$
View Code

从上面例子可以看出eval命令会首先把变量名替换后执行cat test.html命令

原文地址:https://www.cnblogs.com/peter1994/p/7388234.html