命令行错误 - 忽略上一个参数?

时间:2017-12-21 22:12:25

标签: bash command-line raspberry-pi raspberry-pi3 google-assistant-sdk

我正在努力在我的Raspberry Pi上安装Google智能助理SDK,但我遇到了错误。 official Google Assistant SDK guide刚刚更新(昨天),因此我无法找到此错误的任何其他报告,但使用注册工具注册设备的命令给了我一些问题。列出的示例命令列为

googlesamples-assistant-devicetool register-model --manufacturer "Assistant SDK developer" \ --product-name "Assistant SDK light" --type LIGHT --model my-model

但我将此命令修改为

googlesamples-assistant-devicetool register-model --manufacturer "Assistant SDK developer" \ --product-name "Assistant SDK light" \ --type LIGHT \ --model my-model

(在参数之后添加额外的' \') 几乎让它以这种方式工作,但得到错误,

missing option "--model"

但当我切换--type参数和--model参数的位置时,我收到错误

missing option "--type"

所以我知道我命令中的最后一个论点被忽略了,我不知道为什么。示例命令显然有点粗糙,因为我已经对它进行了一些编辑,但我对命令行不够熟悉,无法进一步编辑它。我希望有更多经验的人可以查看我的语法,让我知道为什么我的部分命令被忽略了。提前感谢您的任何反馈。

1 个答案:

答案 0 :(得分:4)

从您所展示的内容来看,您的问题就是使用了这么多反斜杠。

为了便于阅读,原始命令可能会在多行中打破参数。换行符之前的反斜杠会阻止换行符结束命令。

看起来你拿出了新的行,但没有他们的服务员反斜杠。这意味着反斜杠应用于以下空间。一个或多个空格将参数彼此分开。背斜也逃离了空间;在这种情况下,空格将保留为参数的一部分。因此--model变为' --model'。可能你的几个论点都被打破了;可能它是由程序检查的顺序,它确定错误中的哪些。

根据我所看到的,您不应该在该命令中需要任何退格。拿出来,你的结果应该会有所改善。