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
찾고 있는 것과 더 일치하는 매우 다른 동작을 찾아야 합니다.