命令代换及eval命令
来源:互联网 发布:网络加密方式有哪些 编辑:程序博客网 时间:2024/05/20 17:27
shell中的命令代换符号有反引号和$()
反引号,在执行时,会将其中的语句作为命令执行一遍,将执行结果代到原来的命令中。
例:
二者都为命令代换符号,那么是否完全相同呢?
①同为命令代换符号,反引号(“)容易与单引号(”)弄混
②在有多层次的符合替换中,需要额外的跳脱处理,此时用
eval命令
功能:重新运算出参数的内容
语法:eval [参数]
补充说明: eval可读取一连串的参数,然后再依参数本身的特性来执行
参数:参数可以不止一个,彼此之间用分号分开
eval 执行以下两个步骤:
第一步,执行变量替换,类似与C语言的宏替代;
第二步,执行替换后的命令串。
eval会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用,则保证间接引用的语义。也就是说,eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令。因此,eval命令适用于那些一次扫描无法实现其功能的变量。
1.执行带有字符串的命令
eval对CAT变量进行两次扫描,第一次CAT替换为cat test,第二次为cat test执行结果。这种需要扫描两遍的变量称为复杂变量,eval也可以回显简单变量。
2.回显简单变量
3.eval可以用来获取shell的最后一个参数
如果我们知道参数个数,如连个参数,那么可以用echo $2来查看最后一个参数,那么如果不知道参数内容以及个数呢?
4.条件筛选
第一列对应KEY 、第二列为VALUE,使用eval命令将KEY与VALUE的值对应起来,从文件中读取
- 命令代换及eval命令
- 【shell脚本】eval命令详解及命令代换
- 命令代换``和$()区别,eval命令
- 命令代换‘’和$()和eval命令
- shell命令代换与eval命令
- 【shell脚本】命令代换 ` `, $( ) ,整数运算$(( )),变量代换${ },eval命令
- [shell 脚本]eval命令和命令代换 ` `和 $()
- 命令代换``和$()的学习以及eval命令的了解
- 命令代换
- 命令代换
- 命令代换
- 【Linux】shell脚本下的命令代换` `和$() 以及eval
- shell脚本中命令代换:反引号、$()、eval区别
- Linux【Shell脚本】—eval命令和命令代换(`和$())
- 【Linux】命令代换
- shell脚本命令代换
- 【Shell】命令代换
- eval命令
- webpack构建React应用五:使用webpack Loaders 模块加载器(三)
- OACLE 个人常用函数总结
- 设计模式其中的相似模式的区别总结
- JPA EntityManager的四个主要方法 ——persist,merge,refresh和remove
- MyBatis-Oracle-selectKey返回主键
- 命令代换及eval命令
- Ubuntu 16.04下禁止MySQL 5.7自动启动
- 【R-CNN系列目标检测】(6)YOLO2算法
- Spring、Spring MVC、Mybatis开发环境搭建
- shell脚本之命令代换
- 为tomcat制作sha-256自签名证书
- 块级元素浮动之后的布局情况
- Android 自定义View实战系列 :时间轴
- 文章标题