$@与$*的不同之处

$@与$*的不同之处

$*: 把我们传递给脚本的参数全部合为一个字节,当成一个字符串或者参数来使用。

$@: 把我们传递给脚本的所有参数,每个参数都为独立字符串,当我们用 \((n) 来调用的时候, 输入参数的位置为第几个,那我们就用用\)n来调用第几个,一对应。

下面我们用代码来看一下这两个的区别:

创建一个简单的脚本让他输出我们输入的多个参数:” $* ”

并且调用自脚本,传给他一个” $@ “的参数。

$@与$*的不同之处

然后再子脚本中写脚本调用并输出3.log(父脚本)” $1 “,也就是第一个参数。

$@与$*的不同之处

运行脚本3.log 输入3个参数分别为a;b;c看运行结果

$@与$*的不同之处

有结果可以看出,子程序在传入” $@ “后,调用” $1 “,只取到了输入的第一个参数的内容,说明多个参数并没有被变为一个字符串。

接下来我们看一下” $* “的调用

4.log这个子程序我们不变。只把3.log中,自脚本调用的参数格式改为” $* “看看结果会如何

$@与$*的不同之处

$@与$*的不同之处

在4.log中,我们输出的还是” $1 “,而这次把我们输入的所有参数都显示了出来。说明我们输入的所有参数被当成一个参数来使用了。

希望通过这个小实验让大家了解二者的区别。

原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/77690

(0)
phosphorphosphor
上一篇 2017-06-06 20:35
下一篇 2017-06-07 08:27

相关推荐

  • linux进程及作业管理

    linux进程及作业管理 cpu指令权限等级: 特权级也叫hierarchical protection domains, 有的也叫用户态. 是一种用来保护数据和阻止恶意行为的机制. 电脑操作系统提供不同权限访问级别的资源. 特权级分为四级, 特权级0,1,2,3. 在windows中只使用特权级0和特权级3, 特权最高的是特权级0, 可以直接操作硬件, 如…

    Linux干货 2016-09-19
  • awk

    GNU awkGNU awk 2 本章内容 awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 3 awk awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk…

    Linux干货 2016-09-14
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15
  • Boot目录下内容丢失导致系统无法启动

    Boot目录下内容丢失导致系统无法启动 笔者朋友近期在一次学习过程中不慎将虚拟机中boot目录下内容丢失,导致系统无法启动。当然此前他并不知道是这样,只是应为莫名的弹出框报错所有导致系统无法启动。此后朋友将此故障告知笔者,笔者本身其实也是小白刚刚学习linux不就,但是对这些稀奇古怪的故障感觉很有兴趣,所以笔者就掉进坑里搞了好久才搞出来点眉目来。为了让更多学…

    Linux干货 2016-10-24
  • 文本处理工具

    1.cat 主要三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename << EOF ….>EOF (只能创建新文件,不能编辑已有文件);cat向已经存在的文件追加内容:cat >> file <<EOF…>EOF 3.将几…

    2017-07-29
  • Linux文件管理命令详解–cp,mv,rm

    在Linux系统里平时需要对目录文件做一些管理操作,其中最基本的有cp,mv,rm等命令: cp命令:copy 复制   其中包含源文件,目标文件: copy分为单源复制和多源复制,详解如下:               单源复制:cp [option]…[-T] S…

    Linux干货 2016-11-06