start.sh
#!/bin/sh
if [ -z $1 ]; then
echo "error param,usage: start.sh ./testdir"
else
for i in `find $1 -maxdepth 1 ! -type d `;
do ./do.sh $i;
done
fi
do.sh
#!/bin/sh
#define error code err1,err2,...
err1='error'
err2='denied'
#start deal cmd
echo "---------------------------------------------------"
contain=`$1 2>&1 | egrep "$err1|$err2"`
if [ -n "$contain" ]; then
echo "!!!!!!!!!$1 test failed:"
echo $contain
else
echo "$1 test successfull"
fi
以下执行结果,其中"./dir/test"是一个不可执行的空文件,执行失败,其他文件ps、ls、pwd是从/bin下拷贝过来的,执行没有问题:
./start.sh ./dir
---------------------------------------------------
./dir/ls test successfull
---------------------------------------------------
./dir/ps test successfull
---------------------------------------------------
./dir/pwd test successfull
---------------------------------------------------
!!!!!!!!!./dir/test test failed:
./do.sh: line 9: ./dir/test: Permission denied