总结linux环境几个特殊的shell变量

 

########################

总结几个特殊的shell变量:

########################

############################################################

#

#http://hi.baidu.com/xece/modify/blog/75327e382149dae23b87ce5a

############################################################

 特殊的shell变量:

$0  获取当前执行的shell脚本的文件名

$n  获取当前执行的shell脚本的第n个参数值,n=1..9

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别

$#  获取当前shell命令行中参数的总个数

$$  获取当前shell的进程号(PID)

$!  执行上一个指令的PID

$?  获取执行的上一个指令的返回值(0 为成功, 非零为失败)

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”

举例(通过脚本举例,大家也可以一行行执行测试):

[[email protected] test]# cat etiantian.sh

echo ‘$0  获取当前执行的shell脚本的文件名:’$0

echo ‘$n  获取当前执行的shell脚本的第n个参数值,n=1..9:’ ‘$1′=$1 ‘$2′=$2 “\$3=$3″

echo ‘$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别:’$*

echo ‘$#  获取当前shell命令行中参数的总个数:’$#

echo ‘$$  获取当前shell的进程号(PID):’$$

sleep 2 &

echo ‘$!  执行上一个指令的PID :’$!

echo ‘$?  获取执行的上一个指令的返回值:’$?

echo ‘$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”:’$@

脚本执行结果(大家仔细看):

[[email protected] test]# sh etiantian.sh 参数1 参数2 参数3

$0  获取当前执行的shell脚本的文件名: etiantian.sh

$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=参数1 $2=参数2 $3=参数3

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: 参数1 参数2 参数3

$#  获取当前shell命令行中参数的总个数: 3

$$  获取当前shell的进程号(PID): 2062

$!  执行上一个指令的PID : 2063

$?  获取执行的上一个指令的返回值: 0

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: 参数1 参数2 参数3

[[email protected] test]# sh etiantian.sh ryan jeacen david

$0  获取当前执行的shell脚本的文件名: etiantian.sh

$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=ryan $2=jeacen $3=david

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: ryan jeacen david

$#  获取当前shell命令行中参数的总个数: 3

$$  获取当前shell的进程号(PID): 2160

$!  执行上一个指令的PID : 2161

$?  获取执行的上一个指令的返回值: 0

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: ryan jeacen david

更多相关文章
  • 了解什么是竞争条件,以及它们为什么会引发安全问题.本文向您展示了如何在类 UNIX® (Unix-like)系统中处理常见的竞争条件,包括如何正确地创建锁文件.锁文件的替代者,如何处理文件系统,以及如何处理共享目录(特别是如何在 /tmp 目录下正确创建临时目录).需要您对信号处理稍有了解. 通过一 ...
  • 一.vim重复命令 1.重复执行上次命令 在普通模式下.(小数点)表示重复上一次的命令操作 拷贝测试文件到本地目录 $ cp /etc/protocols . 打开文件进行编辑 $ vim protocols 普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复d ...
  •     表之间的关系分为一对多,多对都,一对一三种,实质就是对外键进行配置.     一.一对多     1. Required         Destination包含Lodging>的集合. public class Destination { public int Destinatio ...
  • <!--#include file="strcheck.asp"--><%笔者在写程序的过程中要用for i=1 to n Response.Write "<input type=text name=name"&n&&q ...
  • 乔治·奥威尔出生于一九零三年,卒于一九五零年.就像史蒂芬·茨威格说的一样,他们这一代人目睹了欧洲的式微衰落,战争给人类带来的巨大伤亡,以及各种思潮主义导致的集权主义的泛滥,他们这一代人的惨痛经历要比过去几代人甚至是几十代的都要多.史蒂芬·茨威格对生活充满着忧愁和痛苦的回忆,他放佛看不到欧洲的未来,终 ...
  • 处理器内存模型 顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照.JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响 ...
一周排行
  • 这里不废话了,直接把代码和属性介绍简单说下: [html]  <?xml version="1.0" encoding="utf-8"?>  <set xml ...
  • RandomAccessFile类: 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组.存在指向该隐含数组,光标或索引,称为文件指针:输入操作从文件指针开始读 ...
  • oracle学习之存储过程(2)注意   1.在oracle中,数据表别名不能加as  [html]  select a.appname from appinfo a;-- 正确   select a.appname ...
  • 240.You are managing an Oracle Database 11g ASM instance with a disk group dg01 having three disks. One of t ...
  • 35.You want the Automatic SQL Tuning process to stop accepting and implementing the recommended SQL profiles ...
  • 这是很简单的一部分,因为很多文章都对OpenCms的安装有详细的描述,详见: OpenCms for MySql 安装图解 OpenCms v6.2 for MS Sqlserver2000安装图解
  • 国庆节到肇庆玩儿,游七星岩的时候,无意中就看到远处的高山垭口处,有一巨型物体,看起来像是关公.开始是以为是自然形成的,后来发现可能是人工完成的巨型雕塑.回来没几天就发现,原来真是关公像,所在的山叫做将军山,而且还面临 ...
  •   static string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnStr"].ToStri ...
  • 一.const int* p 和 int* const p         const int* p;          p是指向int类型变量的指针,p所指向的变量为const类型.p指向的变量不能修改.     ...