eval 命令中文意思是“重新计算求出参数内容”,该命令大致有以下几个作用
- 将变量名替换后并执行
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..<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..<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 ~]$
从上面例子可以看出eval命令会首先把变量名替换后执行cat test.html命令