shell脚本运行出错!

shell脚本运行出错!

if [ -f /var/run/${base}.pid ]; then
local line p
read line < /var/run/${base}.pid
for p in $line ; do
       [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
done
fi



这一行: [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
Syntax error: Bad substitution

这是哪里有错呢?

(在pc上运行正常,将这个脚本移植到arm9上运行就出现上面的错误)
两种shell都是一样的么?
{}
版主,你的意思是{}里有错吗?

可是这一段脚本出现再两个地方,而后面的这段没提示出错!
[code:1][ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p" ][/code:1]
-a => &&