Проблема в том, что у вас есть такая конструкция:
for [stuff]; do
if [test]; then
[stuff]
else
if [test]; then
stuff
fi
done
У вас есть два вложенных if
s, и это нормально, но только вы завершите один из них с помощью fi
. Вам необходимо выполнить одно из следующих действий:
# Alternative one:
for [stuff]; do
if [test]; then
[stuff]
else
if [test]; then
stuff
fi
fi
done
# Alternative two
for [stuff]; do
if [test]; then
[stuff]
elif [test]; then
stuff
fi
done