Versuch, einen eingegebenen Befehl in ein Terminal einzufügen

Versuch, einen eingegebenen Befehl in ein Terminal einzufügen

Ich habe noch keine Erfahrung mit Robotik und ROS und brauche Hilfe beim Erstellen einiger Tastaturkürzel, mit denen ich sie in ein Terminal einfügen kann.

Derzeit verwende ich hierfür das Xdotool. Ich kann eine neue Verknüpfung erstellen und das Xdotool auf dem Terminal drucken lassen, wenn ich etwas Einfaches mache (z. B. „Hallo Welt“ oder „Test“). Der Text, den ich auf dem Terminal drucken lassen muss, enthält mehrere verschiedene Symbole und Zeichen. Ich weiß nicht, ob das der Grund für mein Problem ist.

Der getippte Text, den ich ausdrucken muss, ist:

rosservice call /xm540arm/torque_enable "{cmd_type: 'group', name: 'arm', enable: false}"

beim Erstellen einer neuen Verknüpfung habe ich Folgendes in den Befehlsbereich eingegeben:

/bin/bash -c "sleep 0.5 && xdotool type 'rosservice call /xm540arm/torque_enable "{cmd_type: 'group', name: 'arm', enable: false}"'

Ich bin nicht sicher, ob meine Vorgehensweise richtig ist oder nicht. Ich bin für alle Vorschläge und andere Möglichkeiten zur Erledigung dieser Aufgabe offen.

jede Hilfe wäre sehr willkommen

Danke, Mike

Antwort1

Da Sie einen String in doppelten Anführungszeichen haben, müssen Sie alle internen Anführungszeichen maskieren, sodass sie nicht als Ende des Strings in Anführungszeichen gelesen werden:

/bin/bash -c "sleep 0.5 && xdotool type 'rosservice call /xm540arm/torque_enable \"{cmd_type: 'group', name: 'arm', enable: false}\"'"

verwandte Informationen