Для массива (, скажем, arr
), просто обращение к массиву с использованием обычной нотации ссылки на переменную $arr
аналогично ${arr[0]}
, т.е. это относится к первому элементу массива. Это то, что происходит в вашем случае.
Если вы хотите сослаться на все элементы массива, вы почти всегда должны использовать "${arr[@]}"
, а не "${arr[*]}"
. Поскольку в последнем случае при таком цитировании элементы будут отображаться как одиночная строка с первым символом IFS
в качестве разделителя, по умолчанию (, когда IFS
— пробел, табуляция, новая строка ), разделителем становится пробел.
В случае, когда ${arr[@]}
не заключен в кавычки, он расширяется до всех элементов массива с дальнейшим разделением слов и расширением имени пути.
Вот вам пример:
$ a=( 11 22 )
$ printf '%s\n' "$a"
11
$ printf '%s\n' "${a[0]}"
11
printf '%s\n' "${a[*]}"
11 22
$ printf '%s\n' "${a[@]}"
11
22
Теперь, в случае b=$(echo "11 22")
, вы просто выполняете подстановку команд и внутри этого запускаетеecho "11 12"
(в подоболочке ), а результат сохраняется в переменной b
, , которая не массив . Следовательно, вы получаете 11 12
приecho
-ing $b
.
Обратите внимание, что правая часть присваивания переменной не разбивается на слова, поэтому строка 11 12
сохраняется в переменной b
, даже если между ними есть пробел.
AA8E81B4331F7F50 — это версия Stretch (после ключа подписи Джесси ). Вы можете исправить это, установив более новый пакет debian-archive-keyring
, но я сомневаюсь, что вам это действительно нужно.
Однако ваша большая проблема заключается в том, что вы используете бэкпорты jessie -. Это было EOL'd вместе с Jessie (backports, не получает долгосрочной -поддержки ). Если вы хотите использовать старые, неподдерживаемые пакеты обратного переноса jessie -, вам нужно взять их из http://archive.debian.org/debian/dists/jessie-backports/
. Кроме того, архивный материал не пере -подписывается, поэтому срок действия подписи истек. Согласно Failed to Fetch Jessie Backports Repository , запись sources.list
будет выглядеть как:
deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main
Кроме того, httpredir.debian.org
больше нет; вы, вероятно, хотите вместо этого deb.debian.org
. Инструкции см. в https://deb.debian.org/.
(Что вам действительно нужно сделать, так это построить свой контейнер на текущей версии,Бастер.)