linux中shell变量$#,$@,$0,$1,$2的含义

      关于shell变量的含义,对新手来说:有时候真的是傻傻分不清楚!今天就简单为大家介绍下这些常用变量的含义!

      下面我通过一个shell脚本输出了:$$ 、$!、$?、$*、$@、$#、$0、$1、$2这几个变量!

一、创建一个名为params.sh的脚本

[ley@leyserver ~]$ vim params.sh
#!/bin/bash
#Created by ley on 2014-11-14
#Testing the Paramters
#Mail:[email protected]
echo  "The compleate list is %s\n" "$$"  
echo  "The compleate list is %s\n" "$!"
echo  "The compleate list is %s\n" "$?"
echo  "The compleate list is %s\n" "$*"
echo  "The compleate list is %s\n" "$@"
echo  "The compleate list is %s\n" "$#"
echo  "The compleate list is %s\n" "$0"
echo  "The compleate list is %s\n" "$1"
echo  "The compleate list is %s\n" "$2"

二、含义详解

linux中shell变量$#,$@,$0,$1,$2的含义解释: 

变量说明: 

$$ ====>  Shell本身的PID(ProcessID) 

$! ====> Shell最后运行的后台Process的PID 

$? ====> 最后运行的命令的结束代码(返回值) 

$- ====> 使用Set命令设定的Flag一览 

$* ====> 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 

$@ ====> 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数

$# ====> 添加到Shell的参数个数 

$0 ====> Shell本身的文件名 

$1~$n ====> 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

三、执行脚本

[root@localhost ~]# ./params.sh 123456 QQ
The compleate list is %s\n 3406    #PID为3406
The compleate list is %s\n         #shell最后运行的后台(这里无)
The compleate list is %s\n 0       #结束返回的状态码(0一般表示为执行成功)
The compleate list is %s\n 123456 QQ  #参数列表
The compleate list is %s\n 123456 QQ  #参数列表
The compleate list is %s\n 2       #参数为2个
The compleate list is %s\n ./params.sh   #shell的文件名
The compleate list is %s\n 123456   #第一个参数
The compleate list is %s\n QQ       #第二个参数

   好了,通过以上这个例子。博友们应该有所了解了!有问题请多多指教!

你可能感兴趣的:(linux,$$)