关于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.com

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       #第二个参数

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

Logo

更多推荐