变量说明:
 
$$     #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. Docker相关文档

    网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...

  2. Cassandra 配制 cassandra.yaml

    一.设置用户名和密码 修改cassandra.yaml配置文件 把默认的 authenticator: AllowAllAuthenticator 改成 authenticator: Password ...

  3. Android学习笔记 - BitmapFun解析

    如果图片资源是静态的,当我们要在View上显示图片时,只需要简单的将图片赋值给ImageView就可以了,但如果需要浏览网络上的图片时该如何做呢?有可能图片很大,有可能网速很慢并且不稳定,这种情况下该 ...

  4. SQL常用语句整理

    有次笔试最后一页的三个数据库连接查询,没有写出来,被考官暗讽了下.现在想来,实习初,确实很LOW.现公司刚入职的时候,负责过ETL方面,所以和数据库打了不少交道,五十行的联合查询.上百行的存储过程很常 ...

  5. gulp操作基本功能.md

    gulp操作基本功能.示例代码: var gulp = require("gulp");//创建 gulp模块 var adel = require("del" ...

  6. PowerDesigner设计Name和Comment 替换

    这两天在用powerdesigner设计数据库.一直以为name就是注释名字来着.后来生成sql语句 怎么就没有注释信息那. 后来看了半天才知道自己范2了. 通过各种信息查找.大多都是改databas ...

  7. libevent源码分析:eventop

    eventop:定义了event_base使用的后端IO复用的一个统一接口 /** Structure to define the backend of a given event_base. */ ...

  8. HTML 5 应用程序缓存(上)

    什么是应用程序缓存(Application Cache)?HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏览 ...

  9. JAVA可阻塞队列-ArrayBlockingQueue子类BlockingQueue的应用,使用它来实现子线程打印10次,主线程打印100次,如此反复

    /** * 使用BlockingQueue实现主子线程互相打印 * @author duwenlei * */ public class BlockingQueueTest { public stat ...

  10. 【前端】iterable类型的 forEach方法

    看三个例子: a = [ age: 1 , age: 2 ] a.forEach (item) -> item.age = 0 # 有效 console.log a # [ # age: 0 # ...