wergio
@wergio
Программист - любитель!

Как вывести в цикле результат команды bash?

Есть некая команда, которая выдаёт список имён контейнеров Docker.
Как правильно написать цикл в Bash?
Как в цикле подставить эти имена выполнив другую команду?
Ну или может свои варианты, лучшие способы получения результата команды.

container=$(docker container ls --format 'table {{.Names}}');

	while $container
	do
		docker exec -u root -it $container netstat -natu | grep -c ESTABLISHED;
	done
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
@mureevms
Чтобы передавать аргументы вывода команды в качестве одного значения нужно иметь правильный вывод. Т.е. вместо
container=$(docker container ls --format 'table {{.Names}}')
надо сделать
container=$(docker container ls --format '{{.Names}}')

В конечном итоге должно получиться примерно так:
#!/bin/bash
container=$(docker container ls --format '{{.Names}}');

 for i in $container
 do
    docker exec -u root -it $i netstat -natu | grep -c ESTABLISHED;
 done
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы