shell $*与$@的区别

Posted code never lies

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell $*与$@的区别相关的知识,希望对你有一定的参考价值。

 1 #! /bin/bash
 2 test() {
 3         echo "未加引号,二者相同"
 4         echo $*
 5         echo $@
 6         echo "加入引号后对比"
 7         for N in "$*"
 8         do
 9            echo $N
10         done
11 
12         echo "----------"
13         for N in "$@"
14         do
15            echo $N
16         done
17 }
18 test  12 123  3424 546

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

以上是关于shell $*与$@的区别的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本中单引号和双引号的区别

201555332盛照宗—网络对抗实验1—逆向与bof基础

这两个代码片段之间有区别吗?如果有,那又如何? [复制]

React 函数组件与class组件的区别

React 函数组件与class组件的区别

shell if条件判断中:双中括号与单中括号的区别