使用bash脚本获取docker images命令的输出

时间:2017-05-13 12:51:31

标签: php bash shell docker quoting

我正在尝试获取docker images命令输出以在网页上显示它。

Ex:Docker images ouput

正如您在图像上看到的那样,格式正确。

但我在网页上得到的是一行根本未格式化的内容;

  

存储标签图像ID创建大小nginx最新3448f27c273f 2天   前109.4 MB mysql最新的e799c7f9ae9c 3天前407.3 MB

此刻我的剧本;

docker_images=$(docker images)

echo $docker_images

如何通过回声获得格式良好的输出?

2 个答案:

答案 0 :(得分:1)

这与shell在打印带有和不带双引号的变量时如何处理换行符,空格,制表符等有关。要获得所需的输出,请替换

echo $docker_images

echo "$docker_images"

请参阅Capturing multiple line output into a Bash variable以获取更详细的说明。

答案 1 :(得分:0)

所以我尝试了echo nl2br($output)给了我这个;

HTML OUTPUT

这有点好但仍然没有很好的格式化。任何想法如何改善这个?

编辑:

现在正在运行,我正在获得我想要的输出。我必须这样做;

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

嗯,这是纯文本。如果有人想操纵这些,你可以使用docker API。 https://docs.docker.com/engine/api/v1.24/