shell脚本命令学习(一)

本文详细介绍了在Bash中使用$()和反引号('')进行命令替换的方法及区别。这两种方式均可实现命令行的重组,但$()更直观且不需要额外转义处理。此外,还介绍了eval命令的作用及应用场景。

$( ) 和 ' '的区别

命令替换:

在bash中,$( ) 和 ' '(反引号)都是用来作命令替换的。
命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。


在操作上,这两者都能达到相应的效果,BUT:

  • `` 很容易与 '' 混淆

  • 在多层次的符合替换中,``必须要额外的转义处理(\反斜线),而$()比较直观

  • $()的弊端是,并不是所有的类UNIX系统都支持这种方式,但反引号使肯定支持的


eval

e v a l命令将会首先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两 次扫描的变量有时被称为复杂变量。不过这些变量本身并不复杂。e v a l命令也可以用于回显简单变量,不一定是复杂变量。



本文转自 七十七快 51CTO博客,原文链接:http://blog.51cto.com/10324228/1837978

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值