bash: C: / Программа: Нет такого файла или каталога - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок в Docker, Дебезиуме, Bash и Кафке. Я пытаюсь запустить учебник / пример Debezium для MS SQL Server на Windows 10 здесь:

https://github.com/debezium/debezium-examples/blob/master/tutorial/README.md#using - sql -server

Я могу начать топологию за один шаг. Однако, когда я go на втором шаге и выполняю следующую команду:

cat debezium-sqlserver-init/inventory.sql | docker exec -i tutorial_sqlserver_1 bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'

я получаю следующую ошибку:

bash: C: / Program : Нет такого файла или директории

У меня нет ни малейшего представления, почему это могло бы даже перетащить C:/Program в это. Я не вижу его в команде и не вижу в файле *. sql. Кто-нибудь знает, почему это происходит и что за исправление?

Примечание 1. Я уже нахожусь в текущем каталоге, где эта команда должна выполняться, и в пути к папке / файлу нет пробелов

Примечание 2: я запускаю команды в Git Bash


При использовании set -x для регистрации выполнения команды в ней по-прежнему нет C:/Program, так как можно увидеть по следующему журналу:

$ cat debezium-sqlserver-init/inventory.sql | docker exec -i tutorial_sqlserver_1 bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'
+ cat debezium-sqlserver-init/inventory.sql
+ docker exec -i tutorial_sqlserver_1 bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'
bash: C:/Program: No such file or directory

1 Ответ

2 голосов
/ 04 апреля 2020

У меня была похожая проблема вчера, решением было добавление backsla sh перед абсолютным путем, например:

cat debezium-sqlserver-init/inventory.sql | docker exec -i tutorial_sqlserver_1 bash -c '\/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'

\ / opt / ms sql -tools / bin / sqlcmd предотвращает преобразование в Windows путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...