【问题标题】:bash: C:/Program: No such file or directorybash: C:/Program: 没有这样的文件或目录
【发布时间】:2020-07-16 02:42:42
【问题描述】:

我是 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

【问题讨论】:

  • 也闻起来像引用不足导致早期字符串拆分。
  • 我尝试在'debezium-sqlserver-init/inventory.sql' 中添加单引号,但没有成功。
  • @JWeezy,两个单独的命令。 set -x 是一个命令。运行它,按回车键,然后键入要为其收集日志的命令;运行set +x 稍后关闭该注销。后续行仍会像以前一样运行(和失败),但在此之前,它们会打印一个日志,说明它们在做什么。
  • 好的——我要求所有日志记录以便找到的两行代码是+ cat debezium-sqlserver-init/inventory.sql+ docker exec -i tutorial_sqlserver_1 bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'——让我们知道参数列表在之后发生了变化 shell 开始尝试执行docker。为了追踪在那之后发生的事情,我们将bash -c 更改为bash -xc,但既然我们已经得到了答案,那就不再需要了。
  • ...至于__git_ps1是怎么转的,那要看你当初是怎么配置的;它可以从您的BASH_COMMAND 变量中调用,也可以是直接形成提示的PS1 变量的一部分。这些不是唯一可能的钩子,但它们肯定是最有可能的。

标签: bash curl apache-kafka debezium


【解决方案1】:

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

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 路径。

【讨论】:

  • 啊!为了得到这个记录,我们本来想要bash -xc '...
  • @Philippe 很棒的收获。我假设您浏览了整个教程。您能否发布您为完成本教程而运行的命令?这可能对将来看到这一点的任何人都有益。
猜你喜欢
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多