[
и test
являются синонимами. Вы должны использовать один или другой, а не оба.
Альтернатива №1:
if test -f "$FILE1" && test -f "$FILE2" && test -f "$FILE3" && test -f "$FILE4" && test -f "$FILE5" && (( TIME > SCHEDULE ))
then
echo "true"
fi
Альтернатива №2:
if [ -f "$FILE1" ] && [ -f "$FILE2" ] && [ -f "$FILE3" ] && [ -f "$FILE4" ] && [ -f "$FILE5" ] && (( TIME > SCHEDULE ))
then
echo "true"
fi
Однако, как и на любом языке, вам лучше использовать массив:
files=(180.mp4 360.mp4 720.mp4 1080.mp4 audio.mp4)
if (( TIME > SCHEDULE ))
then
for file in "${files[@]}"
do
if ! [ -f "$file" ]
then
echo "Missing $file" >&2
exit 1
fi
done
echo "Do the thing"
fi