【发布时间】:2012-03-14 13:42:21
【问题描述】:
我有这样的事情:
find $1 | grep -E $2 | while read prom; do
if [[ $prom =~ (cmd-given) ]];
then
...
RETURN_PATH=$PWD
cd $WORKING_PATH
...
if [[ -s "stdout-delta" ]] || [[ -s "stderr-delta" ]] || [[ -s "status-delta" ]];
then
RET_ERROR=1
RESULT="FAILED"
else
RESULT="OK"
fi
...
echo "$TEST: $RESULT\n" > /dev/stderr
cd $RETURN_PATH
fi
done
我想测试是否在每个具有 cmd-given 的文件夹中检查空文件 x-delta。如果这些文件中的任何一个不为空,我想写 FAILED 并将返回码设置为 1。但我想检查所有文件夹,所以我认为我使用变量,将其设置为 1,最后检查它是否等于 1退出 1 否则退出 0。但是有问题,当我从那个循环中退出时,我的变量中没有 1。那我应该怎么解决呢?
【问题讨论】:
标签: bash variables loops global-variables exit-code