关于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 #第二个参数
好了,通过以上这个例子。博友们应该有所了解了!有问题请多多指教!