У меня есть этот скрипт:
#!/bin/bash
list="a b c d"
for item in ${list[@]}; do
echo "${item}"
done
Когда я запускаю его, это вывод:
a
b
c
d
Это точно , что я хочу.Тем не менее, shellcheck
ненавидит это и выдает ошибку:
for item in ${list[@]}; do
^-- SC2068: Double quote array expansions to avoid re-splitting elements.
Но, когда я заключаю в двойную кавычку переменную, вывод сценария меняется на:
a b c d
Что является не что я хочу.
Правильно ли выполнять проверку оболочки, и мне следует изменить способ извлечения элементов из переменной, но как?Или я должен просто сказать shellcheck
игнорировать это?