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本身解释执行。

这个是最完美的解释!

转载于:https://www.cnblogs.com/hustdc/p/7470116.html

bash builtin eval相关推荐

  1. linux shell eval,【shell】bash shell 中 set 和 eval 命令的使用

    set命令 https://man.linuxde.net/set Bash 脚本 set 命令教程 http://www.ruanyifeng.com/blog/2017/11/bash-set.h ...

  2. eval builtin command

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 eval 属 Shell 内建命令,通过连接参数构造命令. 使用空格分隔每个参数,构造的命令应由 Shell ...

  3. 一个如何在bash中使用getopts的例子

    本文翻译自:An example of how to use getopts in bash I want to call myscript file in this way: 我想以这种方式调用my ...

  4. bash内置文档(ubuntu20.10)

    系统 用的是ubuntu20.10 命令 compgen -b #这个简单 man bash-builtins #显示得细节已经卸载下面文档中 文档 BASH-BUILTINS(7) Miscella ...

  5. Python内置函数eval

    英文文档: eval(expression, globals=None, locals=None)The arguments are a string and optional globals and ...

  6. Linux 命令(21)—— cd 命令(builtin)

    1.命令简介 cd(Change Directory)命令是 Shell 的内建命令(bash builtin),用来切换工作目录至指定的目录dirname. 其中 dirname 可以是绝对路径或相 ...

  7. linux_sh/bash/shell_bash参考文档/查看可用shell /命令行编辑快捷键技巧/shell job任务管理/job vs process

    文章目录 sh/bash/shell_bash参考文档 references conclusion What Is a Shell? 查看本机的可用shell程序 sh sh on POSIX Sys ...

  8. Linux学习之获取帮助

    基于系统本身的在线联机帮助 一.命令手册 manual 命令格式: (调用路径:/usr/share/doc/man) man command man分章节的,具体内容如下: 1.user comma ...

  9. 在linux中如何高效的使用帮助

    如何正确的获取Linux中命令的帮助 Linux中常用的命令很多,大家想要全部记住显然是不太现实的,所以在忘记命令的使用方法时人如何正确的获取命令的帮助就显得至关重要了,但是大家应该也发现了,正确的获 ...

最新文章

  1. UVA11248 网络扩容(枚举割边扩充)
  2. Java 8系列(一): 日期/时间- JSR310( Date and Time API)
  3. 7.12-7.19 id、w、who、last、lastb、lastlog
  4. TestNG和Maven配置指南
  5. 第九篇:Spring Boot整合Spring Data JPA_入门试炼04
  6. 赛我 v.s Fzone v.s 喔赛 用户体验对比分析
  7. 2017级软件2班安卓应用开发课程主页
  8. android finish后不能ondestroy_Android面试基础(一)
  9. centos6.5 tomcat开机启动
  10. MySQL进阶之SQL优化
  11. Hplus框架动态添加选项卡功能(扩展)
  12. 1万条数据大概占多大空间_国漫丨2019年上半年漫画数据报告
  13. 微师电脑客户端 附使用教程
  14. Linux日期计算器,【C++】日期类+日期万年历+日期计算器
  15. vue引入外部js文件(第三方js工具或者jq库)
  16. 八数码问题的三种解决方式,其一:宽度优先搜索
  17. 写一个程序,判断能否形成三角形,若能,判断是等腰三角形、等边三角形、直角三角形、锐角三角形还是钝角三角形。
  18. 购物车原生js简单明了
  19. 时间复杂度(超详解+例题)
  20. Unity3D 游戏开发之内存优化

热门文章

  1. 蛋白质导论: 结构,功能和运动,第二版 Introduction to Proteins : Structure, Function, and Motion, Second Edition
  2. 数据结构与算法分析 C++语言描述第四版.Mark Allen Weiss
  3. Linux(二)——基础入门(2)
  4. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等
  5. Spring(一)——用Spring IOC容器创建对象
  6. java快递柜系统开发_他专注智能柜系统开发,产品日使用频次达60万次,服务近400厂家...
  7. 实践操作--云端深度学习工作站配置指南(转)
  8. AXI4总线协议的发展历史
  9. 神经网络 | BP神经网络介绍(附源代码:BP神经网络-异或问题)
  10. Ubuntu | 使用 SecureCRT 远程登录 Ubuntu