shell 脚本命令求教

shell 脚本命令求教

看到了下面这段程序,不得要领,请高手解答。尤其local,pidof。还有for循环里的
判断语句非常不理解。谢谢您!
        # First try "/var/run/*.pid" files
        if [ -f /var/run/${base}.pid ] ; then
                local line p pid=
                read line < /var/run/${base}.pid
                for p in $line ; do
                       [ -z "${p//[0-9]/}" -a -d /proc/$p ] && pid="$pid $p"
                done
                if [ -n "${pid-:}" ] ; then
                        echo $pid
                        return 0
                fi
        fi

        # Next try "pidof"
        pidof -o $$ -o $PPID -o %PPID -x $1 || \
        pidof -o $$ -o $PPID -o %PPID -x ${base}

另外下面这个语句怎么解释?
        base=${1##*/}      
1、local是shell的builtin cmd:
Variables local to the function may be decalred with the local builtin command. Ordinarily, variable and their values are shared between the function and its caller.

2、pidof是一个Unix命令,你可以使用man pidof查看其使用方法;

3、base=${1##*/}
表示取$1变量的basename,"##"表示尽量剔除$1中与模式"*/"匹配的字串。比如$1=/home/test/tools/mkbase,这样就把"/home/test/tools/"剔除,剩下mkbase.