我有以下使用 2 个 for 循环的脚本。由于某种原因,它们循环不循环
#! /bin/ksh
CURR_PATH='/main/nedcor/flexcube'
cd $CURR_PATH
for DIR1 in 'WIP' 'INPUT';do
echo $DIR1
for DIR in $(find . -name $DIR1);do
RESULT=`ls -A $DIR | egrep -v "BKUP|BKP"`
echo $DIR
echo $RESULT
echo $RESULT1
if [ -z "$RESULT" ] ;
then
echo "No Files found"
exit 0
else
echo file $RESULT found
exit 1
fi
done
done
答案1
您不应该在循环exit
内部使用for
- 这会导致脚本退出,这就是为什么您只得到一个结果。您应该使用continue
,这将停止当前循环的继续,但会转到for
循环中的下一个元素。
将您的两个exit
陈述互换continue
,您应该会发现非常不同的行为,更符合您正在寻找的内容。