Shell脚本中反引号`和$()的区别
来源:互联网 发布:c 结构体数组 编辑:程序博客网 时间:2024/06/01 18:56
`和
那么`和$()在命令替换时有什么区别呢
`和$()在用到\时,有了差别,下面举个例子来说明这个问题
echo `echo \\w `echo $(echo \\w )
为什么有这样不同的结果呢?
在举个例子
当直接执行echo \$HOSTNAME
语句时,结果为$HOSTNAME
当直接执行echo $HOSTNAME
语句时,结果为localhost.localdomain
现在编写这样两句程序
echo `echo \$HOSTNAME` echo $(echo \$HOSTNAME)
结果分别为localhost.localdomain和echo localhost.localdomain
,结果为localhost.localdomain。
在用echo \$HOSTNAME
,结果为$HOSTNAME。
这说明在反引号(`)中一个反斜杠()并没有转义的作用。
现在多增加几个反斜杠看看结果
echo `echo \\$HOSTNAME` echo $(echo \\$HOSTNAME)
这次结果有了变化,分别为
$HOSTNAME
\localhost.localdomain
这就说明echo
echo $HOSTNAME被解释成了
echo \$HOSTNAME
,而echo $(echo \\$HOSTNAME)
被解释成了echo \localhost.localdomain
。
为什么这次又会是这个结果呢?
其实还是和\有关,在`中一个\不做转义字符处理,但是两个就要做转义字符处理。在$()中一个做转义字符处理,所以有两个\时,就被处理成了一个\。
- Shell脚本中反引号`和$()的区别
- Shell中反引号和$()的区别
- shell 脚本中双引号 单引号 反引号 的区别
- shell 脚本中双引号 单引号 反引号 的区别
- shell 脚本中双引号 单引号 反引号 的区别
- shell 脚本中双引号、单引号、反引号的区别
- shell 脚本中双引号 单引号 反引号 的区别
- shell 脚本中双引号、单引号、反引号的区别
- shell中反引号和$()的区别以及eval命令
- Linux shell中,单引号''、双引号""和反引号``的区别
- shell脚本的反引号
- shell脚本中命令代换:反引号、$()、eval区别
- shell中单引号、双引号、反引号、反斜杠的区别
- shell中单引号、双引号、反引号、反斜杠的区别
- shell中单引号、双引号、反引号、反斜杠的区别
- shell中单引号,双引号,反引号和反斜杠的区别
- shell中单引号、双引号、反引号的区别
- shell中单引号、双引号、反引号的区别
- git常用命令
- The Suspects (并查集)
- MySQL为关联表添加数据
- [机器学习]基于 JavaScript 的机器学习实例
- StringUtils在commons-lang3和commons-lang中的区别
- Shell脚本中反引号`和$()的区别
- Java清理:垃圾回收
- startActivityForResult
- Android直播间_003
- Windows编程之旅(九)
- opensuse42.1改用国内源
- linux驱动 内存池的机制和使用
- MySQL删除关联表的数据
- 如何用altium designer10去画4层板