首页 > 其他 > 详细

$@ 与$*之终极比较

时间:2015-07-07 18:45:22      阅读:175      评论:0      收藏:0      [点我收藏+]


准确来讲, 兩者只有在 soft quote 中才有差异, 否則, 都表示"全部 参数"( $0 除
外)。
举个例來說好了:
若在 command line 上跑 my.sh p1 "p2 p3" p4 的話,
不管是 $@ 還是 $* , 都可得到 p1 p2 p3 p4 就是了。
但是, 如果置於 soft quote 中的話: "$@" 則可得到 "p1" "p2 p3" "p4" 這三个不同的词段(word)﹔ "$*" 則可得到 "p1 p2 p3 p4" 单一的词段

#!/bin/bash

#hao.sh

my_fun() { echo "$#" }

echo ‘the number ofparameter in "$@" is ‘$(my_fun "$@")

echo ‘the number ofparameter in "$*" is ‘$(my_fun "$*")
脚本执行命令:./hao.sh p1 p2 p3 

执行结果

the number ofparameter in "$@" is 3
the number ofparameter in "$*" is 1

$@ 与$*之终极比较

原文:http://www.cnblogs.com/haoxing990/p/4627521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!