1

Ich arbeite daran, Google Assistant SDK auf meinem Raspberry Pi zu installieren, und ich habe einen Fehler gefunden. Die official Google Assistant SDK guide wurde gerade aktualisiert (gestern), so dass ich keine anderen Berichte über diesen Fehler finden kann, aber der Befehl, ein Gerät mit dem Registrierungstool zu registrieren, gibt mir einige Probleme. Der Befehl Beispiel aufgeführt wird alsKommandozeilenfehler - Letzter Parameter übersehen?

aufgeführt

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

aber ich geändert diesen Befehl

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

(das Hinzufügen zusätzlicher ‚\‘ nach Parameter) sein und fast hat es dies funktioniert weg, aber bekomme den fehler,

missing option "--model" 

Aber wenn ich die positi wechseln auf der --type Parameter und dem --model Parameter erhalte ich die Fehler

missing option "--type" 

so weiß ich das letzte Argument in meinem Kommando wird nur übersehen, ich bin nur nicht sicher, warum. Der Beispielbefehl ist offensichtlich ein wenig grob, da ich ihn bereits ein wenig bearbeiten musste, aber ich kenne die Befehlszeile nicht genug, um sie weiter zu bearbeiten. Ich hoffe, dass jemand mit etwas mehr Erfahrung meine Syntax überprüfen kann und mich wissen lässt, warum ein Teil meines Befehls ignoriert wird. Vielen Dank im Voraus für Feedback.

Antwort

4

Von dem, was Sie gezeigt haben, ist Ihr Problem die Verwendung von so vielen Backslashes.

Die ursprünglichen Befehle haben die Argumente wahrscheinlich zur besseren Lesbarkeit über mehrere Zeilen verteilt. Ein umgekehrter Schrägstrich vor einem Zeilenumbruch verhindert, dass der Zeilenumbruch den Befehl beendet.

Sieht so aus, als hätten Sie die neuen Zeilen entfernt, aber nicht die zugehörigen Backslashes. Dies bedeutete, dass die umgekehrten Schrägstriche stattdessen auf den folgenden Platz angewendet wurden. Ein Leerzeichen (oder Leerzeichen) trennt Argumente voneinander. Ein hinterer Schrägstrich entkommt auch Leerzeichen; In diesem Fall werden die Leerzeichen als Teil des Arguments beibehalten. So wird --model' --model'. Wahrscheinlich sind einige Ihrer Argumente gebrochen; wahrscheinlich ist es die Reihenfolge, in der sie von dem Programm überprüft werden, das bestimmt, welche Fehler aufgetreten sind.

Sie sollten keine Rücksprünge in diesem Befehl von dem, was ich sehen kann, benötigen. Nehmen Sie sie heraus, und Ihre Ergebnisse sollten sich verbessern.

+0

Vielen Dank! Das wusste ich natürlich nicht über Backslashes, und nachdem ich alle entfernt hatte, habe ich es zum Laufen gebracht! Danke für die Hilfe! – Nat