bash builtin eval
2024-08-23 02:08:41
1 在开始执行eval后面的命令之前eval主要做了哪些事情
1.1 去掉反斜杠的quoting
比如\$ac_optarg,会变成$ac_optarg。
1.2 去掉单引号的quoting
比如:
a=10
b=a //这里只是给b赋值为a,并没有扩展a。
eval y='$'$b
-->10
首先进行一次扩展,y=$a,然后执行这条命令。
2 总结一下
eval首先进行一次扩展,只是参数的每个部分扩展一次,然后执行扩展后的命令。
或者,同make的eval一样,首先进行一次扩展,然后扩展后得到的text当成是bash shell脚本的动态部分,在脚本运行的时候,由bash本身解释执行。
这个是最完美的解释!
最新文章
- python脚本基础总结
- ImageView
- bootstrap-dropdown
- Activity启动方式
- windows服务名称不是单个单词的如何启动?
- 【转】php利用mkdir创建多级目录
- yum源万能
- 配置单节点伪分布式Hadoop
- qt 与mysql建立交互式连接
- Debian耳机声音问题
- 使用更清晰DebugLog开发和调试工具
- 10.1 ES6 的新增特性以及简单语法
- YII1 增、删、改、查数据库操作
- unity5.x中的关节和布料
- Apache Flink 漫谈系列
- thinkphp生成的验证码不显示问题解决
- 使用JS伪造Post请求
- spark集群构建
- SSL虚拟主机安全方案
- Oracle 提示符