Strange character docker exec

1.1k Views Asked by At

I'm trying to create a script to run a docker cluster.

In my script there is a moment that I want to copy some files from the docker to my local machine. So I'm creating the CONTAINER_WORKDIR variable.

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

The value stored in CONTAINER_WORKDIR is:

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

The problem is that there is a strange character in the end of this variable. Try to execute the line below:

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

My expected result is

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

But the real output is:

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

The pwd or the docker exec command is returning a returning character.

There is a way to remove this character from CONTAINER_WORKDIR variable

1

There are 1 best solutions below

0
Kusalananda On BEST ANSWER

This script that executes what I presume must be

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

may have been written with an editor that stores text files with DOS line-endings (like Notepad++).

Run dos2unix on that script, or use

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

to fix it.