Я запускаю сценарий в Bash на Mac и пытаюсь разделить строку с разделителем, являющимся пробелом, в массив. Я выполняю следующую команду:
array = ($(echo "$string" | tr ' ' "\n"))
, которая возвращает «неожиданную '('» ошибку. Я пробовал несколько решений, включая
#! / bin / bash
В первую очередь, присвоения в сценариях оболочки не должны содержать пробелы между левой стороной =
(имя переменной/массива) и правая сторона оператора присваивания =
. Что касается преобразования строки для выстраивания Вы не должны заменять пробелы новыми строками явно, просто использовать в своих интересах автоматическое разделение слова, которое происходит, когда неупомянутые переменные называют:
$ string='This is a hello world string'
$ array=( $string )
$ echo ${array[3]}
hello
$ echo ${array[4]}
world