在我们初学linux系统shell时,可能会感觉$@与$*没什么区别,如下面shell脚本:

#!/bin/bash
# name:a.sh
#
echo 'this script $* is: '$*
echo 'this script $@ is: '$@

执行结果表面上是一样的、如下图所示:

其实$*和$@还有一些区别的

$*(强调整体)       //所有参数列表,代表"$1 $2 … $n",即当成一个整体输出,每一个变量参数之间以空格隔开。 

$@(强调独立)      //所有参数列表,代表"$1" "$2" … "$n" ,即每一个变量参数是独立的 。也是全部输出。

我们可以在for语句中使用双引号""看出两个变量的区别,shell脚本如下:

#!/bin/bash
# script name:b.sh author:qq5201351
#
for i in "$*";do
echo $i
done echo "=================" for i in "$@";do
echo $i
done

执行结果如下所示,由结果可见$@每一个参数都是独立的,所以在进行迭代时,也是单独输出的。

尊重别人的劳动成果 转载请务必注明出处:http://www.cnblogs.com/5201351/p/4590811.html

最新文章

  1. MFC中如何画带实心箭头的直线
  2. [SQL] SQL 基础知识梳理(二) - 查询基础
  3. oracle11g导出空表的数据库设置
  4. Easy UI常用插件使用
  5. 如何删除datatable中的一行数据
  6. Berkeley DB数据处理
  7. mac 下 apache设置
  8. 关于自然常数e的理解
  9. Angular 2.0 从0到1 (七)
  10. 05_XML的解析_01_dom4j 解析
  11. Android-锁屏功能
  12. 学号:201621123032 《Java程序设计》第4周学习总结
  13. Python自动化中的元素定位xpath(二)
  14. Calendar抽象类的使用
  15. IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA sort排序方法使用方式, 添加关联表的 order by
  16. hdu5371 manacher + 线段树
  17. Luogu1070-道路游戏-动态规划
  18. 使用T-SQL语句操作视图
  19. 11. Container With Most Water(装最多的水 双指针)
  20. android面试(1)----布局

热门文章

  1. font-awesome 使用方法
  2. Javascript数组与类数组对象
  3. 获取 SharpSvn 执行 svn 操作的实时日志
  4. asp.net mvc maproute定义可变数量的自定义片断变量
  5. MarkDown技巧:两种方式实现页内跳转
  6. Unity Shader-描边效果
  7. 【matlab】=size(img)的其中两种用法&zeros( )
  8. 利用opencv从USB摄像头获取图片
  9. Unity&C# Time时间相关
  10. C#调用Delphi的dll之详解