$@ 与 $*的区别

区别在于加了引号

 

case1)

 

如果 IFS="",输入参数为x y z

那么echo “$*”
xyz

 

case2)

 

如果IFS=" "

那么那么echo “$*”
x y z

 

case3)

 

如果IFS="123"

那么那么echo “$*”
x1y1z,只取IFS的第一位作为分割符

 

case4)

如果unset IFS
两者没区别

 

小结:

 

而“$@”统一为 x y z,所以你的shell脚本想获取传入参数的话 ,用$@还是不错的

你可能感兴趣的:(shell,脚本)