在shell脚本中,$ @和$ *之间有什么区别?
哪一个是获得脚本参数的首选方式?
不同的shell解释器之间有不同吗?
从
here:
原文链接:https://www.f2er.com/bash/389036.html$@ behaves like $* except that when quoted the arguments are broken up properly if there are spaces in them.
以这个脚本为例(取自链接的答案):
for var in "$@" do echo "$var" done
给出:
$ sh test.sh 1 2 '3 4' 1 2 3 4
现在将“$ @”更改为$ *:
for var in $* do echo "$var" done
你得到这个:
$ sh test.sh 1 2 '3 4' 1 2 3 4
(使用Google找到答案)