命令代换
来源:互联网 发布:堆和栈的区别java 编辑:程序博客网 时间:2024/05/09 18:32
1.“和$()
由反单引号“括起来的也是一条命令,Shell先执行该条命令,然后输出结果立刻代换到当前命令行中。
date +%Y:%m:%d echo "today is `date +%Y:%m:%d`"
而命令代换也可以用$()表示。
date +%Y:%m:%d echo "today is $(date +%Y:%m:%d)"
我们在用shell编程时,经常用到将系统命令的执行结果赋给一个变量,然后输出:
mydate=$(date +%Y:%m:%d) echo $mydate
或者这样也可以:
mydate=`date +%Y:%m:%d`echo $mydate
2.“和$() 的区别
(1)反单引号内不能再引用反单引号,而
(3)多层结构的替换中,反单引号需要/处理,写起来较麻烦;
(4)反单引号基本上在Shell中使用,移植性较高,$()不是。
3. eval命令
概念:
eval命令首先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实现其功能的变量,可以对变量进行两次扫描。这些需要进行两次扫描的变量有时被称为复杂变量,不过这些变量本身并不复杂。
功能:
(1)eval命令也可以用于回显简单变量,不一定是复杂变量。
(2)执行含有字符串的命令。
①首先,创建一个“test”文件,在这个文件中输入文本信息:
hello!I'm yaoyao!
②cat该“test”文件:
③将cat test赋给变量“myfile”,如果echo该变量,我们将无法列出“test” 文件中的内容。
④若改为eval命令将会对该变量进行两次扫描。
(3)显示出传递给脚本的最后一个参数。
eval echo \$$# //取得最后一个参数
(4)eval命令创建指向变量的“指针”。
阅读全文
0 0
- 命令代换
- 命令代换
- 命令代换
- 【Linux】命令代换
- shell脚本命令代换
- 【Shell】命令代换
- 命令代换及eval命令
- 【shell脚本】命令代换 ` `, $( ) ,整数运算$(( )),变量代换${ },eval命令
- 排序命令&参数代换args
- Shell脚本中命令代换
- Linux xargs参数代换命令
- 命令代换$()和``的区别
- shell脚本中的命令代换
- SHELL脚本的命令代换
- shell脚本之命令代换
- shell脚本的命令代换
- 命令代换``和$()区别,eval命令
- 命令代换‘’和$()和eval命令
- JQuery中jqGrid分页实现
- MongoDb主从配置
- 面试干货:Java核心技术问题整理
- Edraw Max(亿图图示)教程:如何自定义组织结构图展示的信息
- 虚函数、虚指针和虚表
- 命令代换
- 正则表达式regex学习笔记
- webService的简单
- 雪碧图的使用
- 自己做的简单选项卡
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- Android机制之Handler解析
- Android一键加QQ群
- fgm实例练习笔记-3.6判断数字是否为两位数