shell中$*和$@的区别

set 1 2 3
不加引号-----每个参数视为独立参数
[root@m01 ~]# for i in $*;do echo $i ;done
1
2
3

[root@m01 ~]# for i in $@;do echo $i ;done
1
2
3

加引号-----$*把所有参数当做一个整体, $@和不加引号一样
[root@m01 ~]# for i in "$*";do echo $i ;done
1 2 3

[root@m01 ~]# for i in "$@";do echo $i ;done
1
2
3

发表新评论