$()与``的区别问题
哪位大哥给我讲讲$()和``的区别,谢谢啦
作者: 摇滚风 发布时间: 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 编辑 ]
[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