关于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:291406980@qq.comecho  "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 QQThe compleate list is %s\n 3406    #PID为3406The 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       #第二个参数

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