shell “$*”

sh/bash/dash/ksh/zsh等Shell脚本
回复
bellszhu
帖子: 108
注册时间: 2010-12-18 19:46

shell “$*”

#1

帖子 bellszhu » 2011-11-02 23:29

代码: 全选

bellszhu@bells-ThinkPad:~$ type testfunc
testfunc is a function
testfunc () 
{ 
    echo "$# parameters";
    echo Using '"$*"';
    for p in "$*";
    do
        echo "[$p]";
    done
}

执行如下:

代码: 全选

bellszhu@bells-ThinkPad:~$ IFS="|${IFS}" testfunc abc "a bc" "1 2
3"
3 parameters
Using "$*"
[abc|a bc|1 2
3]
bellszhu@bells-ThinkPad:~$ 
为什么会输出这样的结果呢??
"$*" 好像被当成了一个
特别是这个竖线| 好难理解呀。。
keep the faith
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: shell “$*”

#2

帖子 枫叶饭团 » 2011-11-02 23:44

完全无法理解
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell “$*”

#3

帖子 eexpress » 2011-11-03 11:02

折腾带空格的,应该用$@吧。
● 鸣学
回复