奇怪的人物码头工程师

时间:2017-09-08 16:49:43

标签: bash shell ubuntu docker docker-exec

我正在尝试创建一个运行docker群集的脚本。

在我的脚本中有一段时间我想将一些文件从docker复制到我的本地机器。所以我创建了CONTAINER_WORKDIR变量。

CONTAINER_WORKDIR=`docker exec -it jmeter-master /bin/pwd`

CONTAINER_WORKDIR中存储的值为:

/usr/local/apache-jmeter-3.2/bin

问题是这个变量的末尾有一个奇怪的字符。尝试执行以下行:

echo "docker cp jmeter-master:$CONTAINER_WORKDIR/output.csv ."

我的预期结果是

docker cp jmeter-master:/usr/local/apache-jmeter-3.2/bin/output.csv .

但真正的输出是:

/output.csv .ter-master:/usr/local/apache-jmeter-3.2/bin

pwddocker exec命令返回一个返回的字符。

有一种方法可以从CONTAINER_WORKDIR变量

中删除此字符

1 个答案:

答案 0 :(得分:1)

执行我认为必须的

的脚本
CONTAINER_WORKDIR=$(docker exec -it jmeter-master /bin/pwd)

可能是用编辑器编写的,该编辑器存储带有DOS行结尾的文本文件(如Notepad ++)。

在该脚本上运行dos2unix,或使用

$ tr -d '\r' <script >script-new

修复它。