$()与``的区别问题

echo.png (1.91 KB)
2011-8-13 23:02

哪位大哥给我讲讲$()和``的区别,谢谢啦

作者: 摇滚风   发布时间: 2011-08-13

在这里没区别哇
[root@localhost ~]# for i in $(seq 0 10);do echo $i;done
0
1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# for i in `seq 0 10`;do echo $i;done
0
1
2
3
4
5
6
7
8
9
10
第一个例子输出5条斜杠是因为有一半的斜杠充当了转换字符,第二个例子输出五个斜杠是因为(echo [url=]\\\\\\\\\\z[/url])
括号里面的命令echo [url=]\\\\\\\\\\z[/url] 执行完毕输出的结果[url=]\\\\\z[/url]是变量内容,执行所以echo $ 命令是输出变量内容,即[url=]\\\\\z[/url],
而第三个例子输出只有两个斜杠是因为反引号内的命令执行了一次,把结果:[url=]\\\\\z[/url]输入给外面那个echo,即[root@localhost ~]# echo \\\\\z
\\z

[ 本帖最后由 oneliting 于 2011-8-15 08:49 编辑 ]

作者: oneliting   发布时间: 2011-08-15