У меня есть приложение, которое запускает и определяет устройства в системе. Результат выглядит примерно так:Bash - назначить переменные для вывода команды в цикле
./show-devices 192.168.1.2 | grep volume
/dev/sda volumeid-65
/dev/sdb volumeid-81
/dev/sdc volumeid-92
То, что я пытаюсь сделать, это запустить приложение в цикле и назначить переменные следующим образом:
sda=volumeid-65
sdb=volumeid-81
sdc=volumeid-92
Затем, быть в состоянии использовать $ SDA , $ sdb и $ sdc в дальнейшем. Не все выходы одинаковы. У некоторых машин будет только один том, у некоторых будет больше. Все предложения приветствуются. Я пробовал много комбинаций цикла for и, кажется, никуда не денусь. Спасибо!
Вы попробовали этот код? bash выполнит 'while ...' в подоболочке; когда труба заканчивается, то и подоболочка вместе со связанными с ней переменными. – rici
@rici Вы правы. Изменение решения для работы над подоболочкой. – Samveen
Спасибо. Как мне позже ссылаться на массив, чтобы использовать элементы в нем? –