最近學習 shell 程式設計,發現 $@和 $*很有意思,分享一下
$* 取當前 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.