linux shell变量$#,$@,$0,$1,$2的解释

发布时间:2020-02-20编辑:脚本学堂
linux shell变量$#,$@,$0,$1,$2的解释,大家可以参考下。

变量说明(shuoming):
$$
shell本身(benshen)的PID(ProcessID)
$!
Shell最后(zuihou)运 行(running)的后台Process的PID
$?
最后(zuihou)运 行(running)的命令的结束(jieshu)代码(返回(fanhui)值)
$-
使用(shiyong)Set命令设定的Flag一览
$*
所有(suoyou)参数列表。如"$*"用「"」括起来的情况(qingkuang)、以"$1 $2 … $n"的形式(xingshi)输出(shuchu)所有(suoyou)参数。
$@
所有(suoyou)参数列表。如"$@"用「"」括起来的情况(qingkuang)、以"$1" "$2" … "$n" 的形式(xingshi)输出(shuchu)所有(suoyou)参数。
$#
添加(tianjia)到Shell的参数个数
$0
Shell本身(benshen)的文件名
$1~$n
添加(tianjia)到Shell的各参数值。$1是第1参数、$2是第2参数…。

示例:
1 #!/bin/bash
2 #
3 printf "The complete list is %sn" "$$"
4 printf "The complete list is %sn" "$!"
5 printf "The complete list is %sn" "$?"
6 printf "The complete list is %sn" "$*"
7 printf "The complete list is %sn" "$@"
8 printf "The complete list is %sn" "$#"
9 printf "The complete list is %sn" "$0"
10 printf "The complete list is %sn" "$1"
11 printf "The complete list is %sn" "$2

结果(jieguo):
[Aric@localhost ~]$ bash params.sh 123456 QQ
The complete list is 24249
The complete list is
The complete list is 0
The complete list is 123456 QQ
The complete list is 123456
The complete list is QQ
The complete list is 2
The complete list is params.sh
The complete list is 123456
The complete list is QQ