$* 取当前shell的所有参数,将所有的命令行视为单个字符串,相当于“$1$2”
$@ 取当前shell的所有参数保留参数里的空白,,相当于“$“,”$2”,这是将参数传递给其他程序的最佳方式。
例子:
[root@localhost python]# set -- "I am" handsome oldboy.
[root@localhost python]# echo $#
3
[root@localhost python]# for i in $*;do echo $i;done
I
am
handsome
oldboy.
[root@localhost python]# for i in $@;do echo $i;done
I
am
handsome
oldboy.
[root@localhost python]# for i ;do echo $i;done
I am
handsome
oldboy.
[root@localhost python]# for i in "$@";do echo $i;done
I am
handsome
oldboy.
[root@localhost python]# for i in "$*";do echo $i;done
I am handsome oldboy.
网友评论