declare -a IMG_ARRAY=`...`
Это не создает большую часть массива, все выходные данные подстановки команд назначаются нулевому элементу массива. Фактический синтаксис назначения массива — name=(elem1 elem2 ... )
, т. е. со скобками и элементами как отдельными словами.
Вы можете использовать разбиение слов для разделения вывода на элементы, но для этого по-прежнему требуются круглые скобки, а вы подвергаетесь IFS
и подстановке. declare -a aaa=( $(echo foo bar) )
создает два элемента foo
и bar
. Обратите внимание, что он разбивается на пробелы между словами, а не только на новые строки.
Использование mapfile
/ readarray
здесь, вероятно, лучше, так как это явно сделано для чтения строк в массив. Текст справки командной строки(help mapfile
)описывает это:
mapfile: mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
Read lines from the standard input into an indexed array variable.
Read lines from the standard input into the indexed array variable ARRAY, or
from file descriptor FD if the -u option is supplied. The variable MAPFILE
is the default ARRAY.
Вероятно, в процессе миграции с трекера на track3 что-то пошло не так.
Очистить базу данных трекера($ tracker3 reset
)и любой оставшийся файл($ rm -rf ~/.cache/tracker{,3}
)
Ничего об этом не знаю, но похоже, что ваша проблема видна здесь
https://bodhi.fedoraproject.org/updates/FEDORA-2020-05238e0153
Возможно, вы захотите попробовать предложенное здесь «решение», т. е. перейти на более раннюю версию или обновить