码迷,mamicode.com
首页 > 其他好文 > 详细

$@ 与$*之终极比较

时间:2015-07-07 18:48:17      阅读:111      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!