我是 Docker、Debezium、Bash 和 Kafka 的新手。我正在尝试在 Windows 10 上运行 MSSQL Server 的 Debezium 教程/示例:
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: 没有这样的文件或目录
我根本不知道为什么它会拖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
我昨天遇到了类似的问题,解决方案是在绝对路径之前添加反斜杠,例如:
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 路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)