Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121803
  • 博文数量: 41
  • 博客积分: 1695
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-21 22:50
文章分类

全部博文(41)

文章存档

2010年(1)

2007年(23)

2006年(17)

我的朋友

分类:

2006-10-22 00:39:28

先看下面的一段代码:
#!/bin/bash
#the name is "test"
echo $@
echo $*
echo "$@"
echo "$*"
a1=($@)
b1=($*)
a2=("$@")
b2=("$*")
echo 'the number of parameters in $@ is '${#a1[*]}
echo 'the number of parameters in $* is '${#b1[*]}
echo 'the number of parameters in "$@" is '${#a2[*]}
echo 'the number of parameters in "$*" is '${#b2[*]}
exit 0

在终端中运行 sh test p1 p2 "p3 p4"
输出结果为:
p1 p2 p3 p4
p1 p2 p3 p4
p1 p2 p3 p4
p1 p2 p3 p4
the number of parameters in $@ is 4
the number of parameters in $* is 4
the number of parameters in "$@" is 3
the number of parameters in "$*" is 1

从上面的结果可以看出,$@,$*区别不是很大,最主要的区别是"$@","$*"。在"$@"中参数为分解为p1 p2 "p3 p4";在"$*"中参数则是一个整体"p1 p2 p3 p4"。(个人理解!)

阅读(2595) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~