变量说明:
 
$$     #Shell本身的PID(ProcessID)
$!     #Shell最后运行的后台Process的PID
$?     #最后运行的命令的结束代码(返回值)
$-     #使用Set命令设定的Flag一览
$*     #所有参数列表。如'$*'用「'」括起来的情况、以'$1 $2 … $n'的形式输出所有参数
$@     #所有参数列表。如'$@'用「'」括起来的情况、以'$1' '$2' … '$n' 的形式输出所有参数
$#     #添加到Shell的参数个数
$0     #Shell本身的文件名
$1~$n #添加到Shell的各参数值。$1是第1参数、$2是第2参数……
 
 
我们先写一个简单的脚本,执行以后再解释各个变量的意义
 
# touch variable
 
脚本内容如下:
 
# vim variable
#!/bin/bash
echo 'number:$#'
echo 'scname:$0'
echo 'first :$1'
echo 'second:$2'
echo 'argume:$@'
 
保存退出

赋予脚本执行权限
执行脚本
# chmod +x variable
 
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
 
 
通过显示结果可以看到:

$# 是传给脚本的参数个数

$0 是脚本本身的名字

$1是传递给该shell脚本的第一个参数

$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表

随机推荐

  1. centos查看实时网络带宽占用情况方法

    Linux中查看网卡流量工具有iptraf.iftop以及nethogs等,iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等. centos安装iftop的命令如下: ...

  2. (ExtJs 3.4)Ext.Ajax.request的同步请求实现

    ext3.0之前都是这样来提交:var responsea = Ext.lib.Ajax.getConnectionObject().conn;responsea.open("POST&qu ...

  3. mybatis+MySQL--CRUD

    ①导入jar包: ②.配置config.xml: ③.entity: mapping: ④.DAO:   —————————————————————————————————— 目录结构: —————— ...

  4. CSS学习之道

    @media的IE-hacks,精彩绝伦 http://blog.keithclark.co.uk/moving-ie-specific-css-into-media-blocks/

  5. fetch 关于七牛的content-type 的问题

    七牛要的Content-Type: multipart/form-data; boundary=<frontier>:那个boundary(formdata分隔符)是浏览器自己加的,不用管 ...

  6. Avg_row_length是怎么计算的?

    通过一下命令我们可以获取表的使用情况: root::>show table status like 'tbname'\G 结果: . row ************************** ...

  7. Linux内核USB驱动【转】

    本文转载自:http://www.360doc.com/content/12/0321/14/8363527_196286673.shtml 注意,该文件是2.4的内核的驱动源文件,并不保证在2.6内 ...

  8. Linux_用户级_常用命令(2):cd

    开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第二集包含命令:cd 一.格式: cd directory 使用cd命令在目录层次间移 ...

  9. 工作中总结的常用PHP代码

    [目录] ◆PHP常用的代码 ◆HTML常用代码 [值传递 和 引用传递] [单例模式] [魔术常量] [代码调试(自定义一个简单的debug函数)] [thinkphp多表查询] [获取客户端IP地 ...

  10. Volley 实现原理图

    1.启动requestQueue 2. 添加请求 3. 启动cacheDispatcher 4.启动networkDispatcher 5. 数据分发