码迷,mamicode.com
首页 > 系统相关 > 详细

shell $*与$@的区别

时间:2019-03-23 21:02:21      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:执行   的区别   echo   $*   done   bash   字符串   shell $   --   

[root@bgx shell]# cat tt.sh
#! /bin/bash
test() {
        echo "未加引号,二者相同"
        echo $*
        echo $@
        echo "加入引号后对比"
    echo "----"\$*----""
        for N in "$*"
        do
           echo $N
        done

    echo "----"\$@----""
        for N in "$@"
        do
           echo $N
        done
}
test  11 22 33

执行后结果如下

[root@bgx shell]# sh tt.sh
未加引号,二者相同
11 22 33
11 22 33
加入引号后对比
----$*----
11 22 33
----$@----
11
22
33

可以看到不加引号时,二者都是返回传入的参数,但加了引号后,此时$把参数作为一个字符串整体(单字符串)返回,$@把每个参数作为一个字符串返回*

shell $*与$@的区别

标签:执行   的区别   echo   $*   done   bash   字符串   shell $   --   

原文地址:https://www.cnblogs.com/xuliangwei/p/10585486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!