Вы на Ubuntu?
Тогда вам следует изменить строку #!-
вверху, чтобы она читалась как #!/bin/bash
, потому что / bin / sh - очень ограниченная оболочка.
Это объясняет, почему работает в терминале (где оболочкой является bash), а не как сценарий оболочки (который запускается /bin/sh).
Они изменили это пару выпусков назад по соображениям производительности - большинству людей не нужна полная функциональность bash для сценария оболочки, и эта ограниченная оболочка намного быстрее при запуске.
Редактировать: Я только что заметил, что вам даже не нужно использовать массив, так как вы все равно конвертируете его в разделенную пробелами строку в цикле for. Просто удалите круглые скобки в назначении и поместите вместо них кавычки (а также удалите пробелы вокруг знака равенства, как предложил хакер )