首页 > 系统相关 >Linux 系统中 $* 和 $@的区别和联系

Linux 系统中 $* 和 $@的区别和联系

时间:2024-01-21 12:13:36浏览次数:35  
标签:test1 联系 区别 PC1 two sh Linux root bash

 

001、两者都可以表示shell脚本的所有参数,两者没有差异(不管是否增加双引号)

 

举例:

a、不加双引号

[root@PC1 test1]# ls                                      ## 准备了两个测试脚本
a.sh  b.sh
[root@PC1 test1]# cat a.sh                                ## a.sh的内容如下
#!/bin/bash

echo $*
[root@PC1 test1]# cat b.sh                                ## b.sh的内容如下
#!/bin/bash

echo $@
[root@PC1 test1]# bash a.sh one two three                ## 执行a.sh,同时给脚本a.sh传递3个参数
one two three
[root@PC1 test1]# bash b.sh one two three                ## 执行b.sh,同时给脚本b.sh传递3个参数
one two three

 

b、增加双引号

[root@PC1 test1]# ls                                  ## 两个测试脚本中都增加了双引号
a.sh  b.sh
[root@PC1 test1]# cat a.sh                
#!/bin/bash

echo "$*"
[root@PC1 test1]# cat b.sh
#!/bin/bash

echo "$@"
[root@PC1 test1]# bash a.sh one two three             ## 结果显示两者没有差异
one two three
[root@PC1 test1]# bash b.sh one two three
one two three

 

 

002、把$*和$@放入循环中,两者体现出差异(当使用双引号是两者有差异,不试用双引号时两者无差异)

 

a、不使用双引号

 

标签:test1,联系,区别,PC1,two,sh,Linux,root,bash
From: https://www.cnblogs.com/liujiaxin2018/p/17977679

相关文章

  • Linux内核accept系统调用源码分析
    内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且网页可全局搜索函数)一、应用层-accept()函数/***sockfd:监听socket的文件描述符*addr:存放地址信息的结构体的首地址(用来保存客户端的IP、Port)*addrlen:存放地......
  • 16-Linux进程管理
    进程的概念:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。命令ps:查看当前系统进程状态语法:ps【选项】选项:小技巧:如果想查看进程的CPU占用率和内存占用率,可以使用aux;如果想查看进程的父进程ID可以使用ef案......
  • 17-Linux系统定时任务
    crontab服务管理注意点使用前先确认crontab的守护进程crond是否是打开的状态,一般是开机自启的。[root@192mnt]#systemctlstatuscrond#查看crond进程是否开启。当前是开启的●crond.service-CommandSchedulerLoaded:loaded(/usr/lib/systemd/system/crond.ser......
  • 18-Linux软件包管理
    RPM介绍RPM(RedHatPackageManager),RedHat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。RPM包的名称格式:Apache-1.3.23-11.i386.rpm。其中:“apache”软件名称“1.3.23-11”软件的版本号,主版本和此......
  • 19-Linux克隆虚拟机
    从现有虚拟机(关机状态)克隆出新虚拟机,右键选择管理=>克隆  点击下一步  选择虚拟机中的当前状态  选择创建完整克隆  设置虚拟机名称及存储位置等待克隆完成 ......
  • Linux常用命令
    性能监控(cpu内存磁盘网络)性能监控命令 uptime:显示系统平均负载以及系统启动时间查看CPU mpstat查看内存 vmstat15每秒刷新一次刷5次查看磁盘 ioiostat-x15查看网络 iftop查看进程资源占用 ......
  • 11-Linux用户组管理相关
    cat/etc/group:查看创建了哪些组[root@192home]#cat/etc/group...atguigu:x:1000:atguiguxiaoming:x:1001:#之前添加的没有指定组的用户,默认都创建了一个组,这个组里只有这一个用户groupadd:添加一个用户组 [root@192home]#groupaddtester#创建一个tester组[......
  • 10-Linux用户管理相关
    useradd:添加新用户[root@192~]#useraddzhangsan#添加一个新用户[root@192home]#ll/home#home目录下增加了zhangsan的用户目录,表示已经创建成功总用量0drwx------.5atguiguatguigu1281月92024atguigudrwx------.3zhangsanzhangsan781月100......
  • Linux---磁盘管理
    1.磁盘外部结构存储数据的地方磁盘分类:第一类:机械磁盘通过机械运动读写数据台式机3.5英寸第二类:固态磁盘芯片第三类:NVME磁盘PCI-E类似显卡接口类型及转速:决定了读写速度IDE接口淘汰SCSI接口不常用SATA接口笔记本台式机7.2K转/10KSAS接口服务器标......
  • Linux中关于磁盘的一些常见问题小记
    1.程序导致内存不够用程序导致内存不够用如果内存满则系统会自动杀死占用内存最高的进程来保护系统正常运行什么原因导致内存满:1.大量用户访问服务器(正常情况)需要我们添加内存2.由于程序导致内存满,而不是大量用户访问导致(找开发解决)3.由于网络的波动导致内存满需要......