【参考文章】:linux中shell变量$#,$@,$0,$1,$2的含义解释

1. 变量说明

1.1 $$

  Shell本身的PID(ProcessID)

1.2 $!

  Shell最后运行的后台Process的PID

1.3 $?

  最后运行的命令的结束代码(返回值) 成功时返回 0,失败时返回 1 或者其他。

  可以用来判断脚本中命令的执行结果以决定是否要进行下一步或者退出。

1.4 $-

  使用Set命令设定的Flag一览

1.5 $*

  所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

1.6 $@

  所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

1.7 $#

  添加到Shell的参数个数

1.8 $0

  Shell本身的文件名

1.9 $1~$n

  添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

2. 示例代码

#!/bin/sh

echo  $$

echo  $!

echo  $?

echo  $-

echo  $#

echo  $*
echo "$*" echo $@
echo "$@" echo $ echo $ echo $

运行结果:

随机推荐

  1. HDU3085NightmareII题解--双向BFS

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3085 分析 大意就是一个男孩和一个女孩在网格里,同时还有两个鬼,男孩每轮走三步,女孩每轮走一步,与鬼曼 ...

  2. STM32F10xxx_异常与中断

    STM32F10xxx_异常与中断 [TOC] 更新记录 version status description date author V1.0 C Create Document 2018.10.2 ...

  3. nginx之健康检查

    正常情况下,nginx做反向代理,如果后端节点服务器宕掉的话,nginx默认是不能把这台realserver踢出upstream负载集群的,所以还会有请求转发到后端的这台realserver上面,这样 ...

  4. cookie、sessionStorage和localStorage区别

    // 数据存储 cookie:生命周期一般是手动设置失效的时间,大小为4k,易用性不高,需要自己封装(封装请看上一篇博客) sessionStorage:生命周期是浏览器关闭接失效,大小为5m或者更大 ...

  5. Rsyslog服务器的安装与配置

    一.Rsyslog服务器的安装与配置 1.清空iptabels, 关闭selinux避免安装过中报错 清空iptables iptables -F service iptables save 关闭se ...

  6. Java List集合深入学习

    List: https://blog.csdn.net/qq_37939251/article/details/83499291 https://blog.csdn.net/weixin_403043 ...

  7. postgres 表和库等信息大小统计

    一 .数据库大小的统计 1.单个库查询 select pg_database_size('zybdb'); 2.查询所有的库 方法一: select pg_database.datname, pg_s ...

  8. Java SE 核心 I

    Java SE 核心 I 1.Object类 在 Java 继承体系中,java.lang.Object 类位于顶端(是所有对象的直接或间接父类).如果一个类没有写 extends 关键字声明其父类, ...

  9. ISO/IEC 15444-12 MP4 封装格式标准摘录 4

    目录 Movie Fragments Movie Extends Box Movie Extends Header Box Track Extends Box Movie Fragment Box M ...

  10. ACwing 196. 质数距离

    #include <bits/stdc++.h> using namespace std; , M = ; int v[M]; long long prime[N],prim[N]; ; ...