bash - `docker run` 输出到 bash 变量 - 奇怪的行为

标签 bash variables docker

我看到一些奇怪的行为,将 docker run 的输出获取到 bash 变量中。

简单的例子:

#!/bin/bash

PWD=$(docker run --rm -ti ubuntu pwd 2>&1)
# also tried with PWD=`docker run ...` with same behaviour
echo $PWD
echo abc $PWD
echo abc $PWD xyz

输出

/
abc /
 xyz/

问题出在最后一个echo...

最佳答案

您需要将 docker run --rm -ti ubuntu pwd 2>&1 修改为 docker run --rm ubuntu pwd 2>&1 交互和 tty 模式可能在 shell 变量中无法正常工作

关于bash - `docker run` 输出到 bash 变量 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38784771/

相关文章:

javascript - 将字符串替换为其他带有字符串的变量

wordpress - Docker-compose重新运行现有容器

docker - 如何使用docker-compose挂载主机目录,运行主机时指定 "~/path/on/host",不在docker-compose文件中

php - 如何在一个容器中安装 nginx 而在另一个容器中安装 php-fpm?

xml - 如何在 bash 中使用 xmlstarlet 选择随机节点?

javascript - 在 Node js 中运行 bash

bash - bash seq 替换中的变量 ({1..10})

linux - 在两个不同的目录中运行两个守护进程作业

php 不会更新 UPDATE QUERY

node.js - 如何从node.js函数外部访问局部变量