1,变量说明
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
2,查找关键参数的方法
#!/bin/bash
for argv in $*
do
echo "argv:$argv"
fi
done
#!/bin/bash
while [ $# != 0 ];do
echo "第一个参数为:$1,参数个数为:$#"
shift
done
while [ "$#" != 0 ]; do
[ "x$1" = "xON" ] && IN_ONOFF=on
[ "x$1" = "xOFF" ] && IN_ONOFF=off
shift
done
shift(shift 1) 命令每执行一次,变量的个数($#)减一(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位
for i in $(seq 1 $#)
do
#通过eval把i变量的值($i)作为变量j的名字
eval j=$$i
echo "第$i个参数($"$i"):$j"
done