Двойное цитирование расширения переменной ${names[@]}
приведет к тому, что оно будет расширено до элементов массива, индивидуально цитируемых . Отсутствие цитирования этого расширения переменной заставит оболочку разделить все элементы на пробелы (по умолчанию )и дополнительно выполнить подстановку имен файлов для всех сгенерированных слов (, что не является проблемой для слов, которые вы используете ). В вашем примере это приведет к тому, что kali
и linux
будут рассматриваться как два отдельных слова.
Поэтому используйте
for name in "${names[@]}"; do
printf '%s\n' "$name"
done
или, для этого простого сценария,
printf '%s\n' "${names[@]}"
(цикл не требуется, так как printf
просто повторно использует свою строку формата для каждого отдельного аргумента)
Связанные:
Также (почему я всегда использую printf
для вывода строк переменных):
Решение с проприетарным драйвером:
sudo wgethttp://www.killernetworking.com/support/K1535_Debian/board.bin-O /lib/firmware/ath10k/QCA6174/hw3.0/board.bin
sudo wgethttps://github.com/kvalo/ath10k-firmware/raw/master/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00132-QCARMSWP-1-O /lib/firmware/ath10k/QCA6174/hw3.0/firmware -6.bin
sudo rm /lib/firmware/ath10k/QCA6174/hw3.0/board -2.bin