最近学习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.
本文详细解析了Shell脚本中$*与$@变量的区别与使用技巧,通过实例展示了如何正确地处理带有空格的命令行参数。
756

被折叠的 条评论
为什么被折叠?



