变量说明:
 
$$     #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. NLog输出目标及类型

    targets:输出目标节点 target:配置一个输出目标 Type输出类型: Console        输出到控制台 Debugger     输出到VS输出窗口 File        输出 ...

  2. jsp+servlet 中文乱码问题

    一. 由于doget和dopost的处理方式不同,在做servlet的时候遇到这样一个问题:用doPost获得的参数只要加上“request.setCharacterEncoding("ut ...

  3. sqlserver数据库 Schema

    //读取数据库中所有的数据库 USE MASTER DECLARE @is_policy_automation_enabled bit SET @is_policy_automation_enable ...

  4. 机器学习实战4:Adaboost提升:病马实例+非均衡分类问题

    Adaboost提升算法是机器学习中很好用的两个算法之一,另一个是SVM支持向量机:机器学习面试中也会经常提问到Adaboost的一些原理:另外本文还介绍了一下非平衡分类问题的解决方案,这个问题在面试 ...

  5. [SQL入门级] 接上篇,继续查询

    距离上一篇时间隔得蛮久了,这篇继续查询,简单总结一下聚合函数.分组的知识. 一.聚合函数(组函数/多行函数) 何谓多行函数,顾名思义就是函数作用于多行数据得出一个输出结果,什么意思呢?看图: 那么常用 ...

  6. css浮动与绝对定位小记

    浮动 float属性可以设置的值为none,left,right.对于设置了浮动的元素,会向其父元素的左侧或右侧紧靠,默认情况下,盒子的宽度不再伸展,而是根据盒子里面的内容来确定.浮动可以让一个元素移 ...

  7. IntelliJ IDEA 12.0 +Maven 初使用 - WEB项目的建立

    新建项目 1.Fiew菜单 - New Project,选择Maven Module项,输入Project name,选择项目所在的路径,选择SDK,其余默认即可,点击Next按钮

  8. Cellebrite UFED 5.1 发布,全面支持三星 S6 S6 Edge Note5 HUAWEI series

    世界级取证公司Cellebrite 昨天发布了最新的 UFED 5.1 系统更新,4PC全面支持三星S6,S6EDGE NOTE5 以及HUAWEI,LG系列恢复,锁屏密码XX!下面是部分截图 有需要 ...

  9. 如何清除WebBrowser的Cookies

    var document = webBrowser1.Document; document.ExecCommand("ClearAuthenticationCache", fals ...

  10. Weblogic的JDBC详解

    WebLogic Server 中的JDBC概述  在 WebLogic Server 中,您可以配置数据库连接,方法是先配置 JDBC 数据源和多数据源,然后将这些 JDBC 资源指定到或部署到 W ...