получить вывод команды docker images с помощью скрипта bash

Я пытаюсь получить docker images вывод команды для отображения на веб-странице.

Пример: Вывод изображений Docker

Как вы можете видеть на изображении, это хорошо отформатировано.

Но то, что я получаю на своей веб-странице, это одна строка, не отформатированная вообще;

РАЗМЕР ИД ИЗОБРАЖЕНИЯ ДЛЯ ХРАНИЛИЩА СОЗДАННЫЙ РАЗМЕР nginx последний 3448f27c273f 2 дня
назад 109.4 MB mysql последнее e799c7f9ae9c 3 дня назад 407.3 MB

Это мой сценарий на данный момент;

docker_images=$(docker images)

echo $docker_images

Как я могу получить хорошо отформатированный вывод через мой эхо?

0

Решение

Это связано с тем, как оболочка обрабатывает символы новой строки, пробелы, табуляции и т. Д. При печати переменной с двойными кавычками и без них. Чтобы получить желаемый результат, пожалуйста, замените

echo $docker_images

с

echo "$docker_images"

Пожалуйста, обратитесь Захват многострочного вывода в переменную Bash для гораздо более подробного объяснения.

1

Другие решения

Поэтому я попробовал echo nl2br($output) который дал мне это;

HTML ВЫХОД

Это немного лучше, но все еще не отформатировано. Есть идеи как это улучшить?

Редактировать :

Это работает сейчас, я получаю вывод, который я хочу. Я просто должен был сделать это;

echo "<pre>";
echo nl2br($output) or $output;
echo "</pre>";

Ну, это в виде простого текста. Если кто-то захочет ими манипулировать, вы можете использовать Docker API. https://docs.docker.com/engine/api/v1.24/

0

По вопросам рекламы [email protected]