Когда данные настроек в массиве не возвращаются с $:
declare -a FILES
file_count=0
if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then
echo "$file_ext is not supported for this task."
else
FILES[$file_count]=$filename
file_count=$file_count+1
fi
ФАЙЛЫ без $.
Это работает для меня:
#!/bin/bash
declare -a FILES
file_count=0
file_ext='jpg'
SUPPORTED_FILE_TYPE='jpg'
filename='test.jpg'
if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then
echo "$file_ext is not supported for this task."
else
FILES[$file_count]=$filename
file_count=$(($file_count+1))
fi
Как видите, небольшая модификация $ (()) для математической операции, но назначения FILES такие же ...
Как указывалось после множества тестов, оболочка Ubuntu по умолчанию выглядит тире, что выдает ошибку.