Eu faria de uma maneira diferente.
Dirarray= ("dirA" "dirB")
for Dir in "${Dirarray[@]}"; do
cd "$Dir"
for file in "${filearray[@]}"; do
# Here a change. If "$file" exists...
if [[ -e "$file"]]; then
: # do something
fi
done
done
Veja man test
para mais opções de teste de arquivo.
A razão é que isso é muito mais simples. Bem, desde que a matriz não contenha expressões regulares.