$@和$*有什么差别?

sh/bash/dash/ksh/zsh等Shell脚本
回复
wwangzhihang
帖子: 54
注册时间: 2006-06-23 7:43
联系:

$@和$*有什么差别?

#1

帖子 wwangzhihang » 2009-05-24 8:09

不都是传递的变量列表么?我看bash manual里面说$*有什么IFS,不知道什么意思?
头像
c\nc
帖子: 231
注册时间: 2007-12-25 12:51

Re: $@和$*有什么差别?

#2

帖子 c\nc » 2009-05-25 17:32

试试:

代码: 全选

#!/bin/bash
echo '$@'
for x in $@; do
	echo $x
done
echo '$*'
for x in $*; do
	echo $x
done
echo '"$@"'
for x in "$@"; do
	echo $x
done
echo '"$*"'
for x in "$*"; do
	echo $x
done
把一些带空格的参数传递个这个脚本试试,比如 ./foo a 'b c' d 之类的。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: $@和$*有什么差别?

#3

帖子 BigSnake.NET » 2009-05-25 17:55

$@ 原样保留
$* 用 IFS 分
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
wwangzhihang
帖子: 54
注册时间: 2006-06-23 7:43
联系:

Re: $@和$*有什么差别?

#4

帖子 wwangzhihang » 2009-05-26 10:56

BigSnake.NET 写了:$@ 原样保留
$* 用 IFS 分
IFS什么意思?
头像
jioyo源
帖子: 3476
注册时间: 2008-10-08 13:48

Re: $@和$*有什么差别?

#5

帖子 jioyo源 » 2009-05-26 10:58

wwangzhihang 写了:
BigSnake.NET 写了:$@ 原样保留
$* 用 IFS 分
IFS什么意思?
简单理解,字段分隔符……
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
回复