bash while разрывает цикл после первой строки - PullRequest
0 голосов
/ 11 октября 2018

У меня есть простой скрипт с циклом while, но я не могу понять, почему он прерывается после первой строки, из переменной $ vault_list:

#!/bin/bash

tech_login="$1"
vault_list=$(docker exec -i tmgnt_vault_1 vault list secret/${tech_login}-terminals | sed 1,2d)

while IFS= read -r terminal
do
    echo "line is $terminal"
    key_values=$(docker exec -i tmgnt_vault_1 vault read secret/${tech_login}-terminals/$terminal )


done <<< "$vault_list"

Если я удаляю $ key_values ​​из цикла while, он возвращает все значенияв эхо "строка это $ терминал".Кто-нибудь может мне указать, в чем проблема с циклом while?Я предполагаю, что это может быть проблемой с выводом, но не уверен.

1 Ответ

0 голосов
/ 11 октября 2018

С помощью подсказки @choroba я нашел правильный синтаксис для $ key_values:

key_values=$(docker exec -i tmgnt_vault_1 vault read secret/${tech_login}-terminals/$terminal <<<$terminal)

Мне нужно было явно передать переменную $ терминала в команду docker, что можно сделать с помощью строки here,«<

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...