【参考文章】: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. Pycharm开发环境设置与熟悉

    Pycharm开发环境设置与熟悉. 练习基本输入输出: print('你好,{}.'.format(name)) uprint(sys.argv) 库的使用方法: import ... from .. ...

  2. Docker Ubuntu容器安装ping

    apt-get update apt-get install iputils-ping apt-get install net-tools

  3. MySql学习笔记【三、表相关操作】

    创建表 CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, ... ) 如: CREATE TABLE test_table ...

  4. linux基础—课堂随笔07_磁盘存储和文件系统

    磁盘管理 管理分区 列出块设备  lsblk parted命令 高级分区操作 用法:  parted [选项]... [设备 [命令 [参数]...]...]  parted /dev/sdb mkl ...

  5. iptables 转发

    1.通过代理访问121.8.210.236的转向访问192.168.191.236 sudo iptables -t nat -A OUTPUT -d 121.8.210.236 -j DNAT -- ...

  6. 一个javascript面试题

    javascript面试题代码: <script type="text/javascript"> function fun(x,y){ console.log(&quo ...

  7. 微信获取用户列表的json字符串解析

    今天学习微信遇到一个json的解析,但是因为自己的模型思维和思考能力很差一直困扰最后经过询问解决的问题,其实问题很简单总结起来就是json的解析: 注释:今天主要是讲怎样解析json的所以其他方法就只 ...

  8. Java语言基础(7)

    1 for循环 案例:Demo1 1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ? 1/1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ? 分子都是1,分母是 ...

  9. Android异常与性能优化相关面试问题-OOM异常面试问题详解

    什么是OOM? 当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出Out Of Memory异常. 一些容易混淆的概念: 内存溢出:指的就是OOM. 内存抖动:是短时间 ...

  10. Python爬虫进阶之Scrapy框架安装配置

    Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此 ...