Если я попробую на своей машине (с bash 3,4 и 5) следующую команду:
bash-5.0$ VAR=(1 2 3)
bash-5.0$ for i in ${VAR}; do echo $i; done
Я получу только одну строку с 1
.
Если ясделайте то же самое на ZSH, например, он хорошо записывает три строки с прогрессивными числами.
Однако на одном из наших производственных серверов я нашел это:
bash -c "for i in ${MY_VAR}; do stuff with $i; done"
И, проверив его логиКажется, что это на самом деле итерация правильно!
Как это возможно?Это какая-то конкретная версия bash, о которой я не знаю?Или какой-то флаг, который я должен установить?Или, может быть, массив был заполнен определенным образом?