Как извлечь значения из строки в скрипте bash?

#bash #sh #script

#удар #ш #скрипт

Вопрос:

У меня действительно небольшая проблема, но я не могу ее решить. Я использую скрипт rake и shell. Сценарий оболочки вызывает задачу rake, и она возвращает строку, содержащую некоторое значение.

Ниже приведена строка

 queue_url=http://localhost:4566/000000000000/test url=http://localhost:4566 ["test[local]"]  

Я не хочу извлекать оттуда значение элемента queue_url и url. Не в состоянии создать какой-либо шаблон.

Сценарий оболочки

 res=$(rake test[local]) echo $res myarray=($myvar) echo "My array: ${myarray[@]}"  

В приведенном выше сценарии строка 3 выдает ошибку. Скриншот прилагается ниже. Я хочу знать, есть ли какой-либо простой способ извлечь значение из этой строки, возможно, с помощью sed, хотя я не уверен.

введите описание изображения здесь

Комментарии:

1. myvar содержит вашу показанную длинную строку в одной строке, и вы хотите получить два URL-адреса в массиве myarray ?

2. Каков ожидаемый результат?

3. Массивы недоступны /bin/sh , убедитесь, что вы используете bash, ksh или zsh

4. пожалуйста, обновите вопрос, указав, что вы ожидаете увидеть в массиве

5. @гленн, я использую #!/bin/bash bash