Странный персонаж в Docker Exec
Я пытаюсь создать скрипт для запуска докерного кластера.
В моем сценарии есть момент, когда я хочу скопировать некоторые файлы из докера на мою локальную машину. Итак, я создаю 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
pwd
или docker exec
Команда возвращает возвращаемый символ.
Есть способ удалить этого персонажа из CONTAINER_WORKDIR
переменная
1 ответ
Этот сценарий, который выполняет то, что я предполагаю, должен быть
CONTAINER_WORKDIR=$(docker exec -it jmeter-master /bin/pwd)
возможно, был написан с помощью редактора, который хранит текстовые файлы с окончанием строки DOS (например, Notepad++).
Бежать dos2unix
по этому сценарию, или используйте
$ tr -d '\r' <script >script-new
починить это.