bash: C:/程序: 没有那个文件或目录

bash: C:/Program: No such file or directory

我是 Docker、Debezium、Bash 和 Kafka 的新手。我正在尝试 运行 Debezium tutorial/example for MSSQL Server on Windows 10 here:

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

我能够按照第一步启动拓扑。但是,当我转到第二步并执行以下命令时:

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

我完全不知道为什么它会把 C:/Program 拖到这个里面。我没有在命令中看到它,也没有在 *.sql 文件中看到它。有谁知道为什么会这样以及解决方法是什么?

注意 1:我已经在这个命令应该 运行nable 的当前目录中并且 folder/file 路径

中没有空格

注意 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

我昨天遇到了类似的问题,解决办法是在绝对路径前加一个反斜杠,比如:

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/mssql-tools/bin/sqlcmd 阻止转换为 Windows 路径。