首页 » 信息技术 »

$*与$@的区别

2019年4月5日 / 17次阅读
Shell

$*和$@在bash编程中,都是特殊变量,都表示所有参数。它们只是在被双引号括起来的时候,有一点区别。

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。

但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

请看下面的示例:

[xinlin@localhost ~]$ cat test.sh

echo "print each item in \"$*\""
for item in "$*"
do
echo "$item"
done

echo "print each item in \"$@\""
for item in "$@"
do
echo "$item"
done

[xinlin@localhost ~]$ bash test.sh 1 2 3 4 5
print each item in "1 2 3 4 5"
1 2 3 4 5
print each item in "1 2 3 4 5"
1
2
3
4
5
[xinlin@localhost ~]$

这就是$*和$@的区别。

本文链接:https://www.maixj.net/ict/qubie-20888

相关文章

留言区


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top