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

1.解释
变量 含义
$$ 
当前运行shell脚本的PID(ProcessID) 
$? 
上一句命令运行的命令的结束代码(返回值,运行成功返回0,运行失败返回1) 
$* 
所有参数列表。如 echo $*、会以"$1 $2 … $n"的形式输出所有参数。 
$@ 
所有参数列表。如echo $@、会以"$1" "$2" … "$n"的形式输出所有参数。 
$# 
Shell脚本参数个数 
$0 
Shell脚本的文件名 
$1~$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 

2.脚本实战:

[root@liang 2018-06-21]# cat variable.sh 
#!/bin/bash
echo "脚本文件名:$0"
echo "第二个参数是: $2"
echo "第一个参数是: $1"
echo "第四个参数是: $4"


echo "上一句命令执行后的返回值是:$?"
echo "所有参数是: $*"
echo "所有参数是: $@"
echo "参数个数是 : $#"
echo "当前进程的 PIG 是 : $$"


echo "\$0=$0"
echo "\$1=$1"
echo "\$2=$2"
echo "\$3=$4"


echo "\$*=$*"
echo "\$@=$@"
echo "\$#=$#"
echo "\$$=$$"
echo "\$?=$?"


3.执行结果:

[root@liang 2018-06-21]# bash variable.sh a b 1 2 3
脚本文件名:variable.sh
第二个参数是: b
第一个参数是: a
第四个参数是: 2
所有参数是: a b 1 2 3
所有参数是: a b 1 2 3
参数个数是 : 5
当前进程的 PIG 是 : 12136
上一句命令执行后的返回值是:0
$0=variable.sh
$1=a
$2=b
$3=2
S*=a b 1 2 3
$@=a b 1 2 3
$#=5
$$=12136
$?=0


猜你喜欢

转载自blog.csdn.net/liang_operations/article/details/80773924