变量说明:
$$

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

# vi variable

脚本内容例如以下:

#!/bin/sh

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脚本的第二个參数

$@ 是传给脚本的全部參数的列表





资料来源于网络资源:http://blog.sina.com.cn/s/blog_464f6dba0100psy9.html

随机推荐

  1. [Codeforces #211] Tutorial

    Link: Codeforces #211 传送门 一套非常简单的题目,但很多细节都是错了一次才能发现啊…… 还是不能养成OJ依赖症,交之前先多想想corner case!!! A: 模拟,要特判0啊 ...

  2. poj 3464(Trie)Approximations

    Approximations Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 419   Accepted: 23 Desc ...

  3. 【二分答案+智障的字符串hash】BZOJ2946-[Poi2000]公共串(Ranklist倒一达成!!!!!)【含hash知识点】

    [题目大意] 给出几个由小写字母构成的单词,求它们最长的公共子串的长度. [字符串hash的小笔记] hash[i]=(hash[i-1]*p+idx(s[i]))%mod,idx为映射值,一般a.. ...

  4. 求图的强连通分量--tarjan算法

    一:tarjan算法详解 ◦思想: ◦ ◦做一遍DFS,用dfn[i]表示编号为i的节点在DFS过程中的访问序号(也可以叫做开始时间)用low[i]表示i节点DFS过程中i的下方节点所能到达的开始时间 ...

  5. [转]oracle 数据库、表空间、实例、服务之间的关系

    1.每个DATABASE--可包含多个INSTANCE--每个INSTANCE可包含多个TABLESPACE和USER等(授予USER读写TABLESPACE的权限)--每个TABLESPACE可包含 ...

  6. [转] javax.servlet.jar - jar not loaded问题解决

    把那个jsp-api.jarservlet-api.jar删除即可! Details:把 webapps\maintenance\WEB-INF\lib\ 下面的 servlet-api.jar 删掉 ...

  7. Visio中旋转文本框与箭头平行

    如图想要让文本框和箭头平行,按住shift,可以画出水平或者垂直的线,线是斜的,用文本框来标识,要框和线平行,那可以这样做: 打开视图  -  任务窗格 - 大小和位置,然后先单击选中斜线 左下角倒数 ...

  8. 项目中简单使用ztree,简单数据。

    由于公司架构较旧,使用的jdk版本为1.4,页面上也没有el表达式. 加入 js 文件 <% String context = request.getContextPath(); %> & ...

  9. #!/usr/bin/env在脚本中的作用

    在linux的一些脚本,需在开头一行指定脚本的解释程序,如: #!/usr/bin/env bash #!/usr/bin/bash #!/usr/bin/env python  告诉操作系统执行这个 ...

  10. mac下如何全量删除短信内容

    退出messages应用 执行命令:rm -r ~/Library/Messages/chat.* 重启messages 如果遇到下面问题:重启mac