Попытка вставить введенную команду в терминал

Попытка вставить введенную команду в терминал

Я новичок в робототехнике и ROS и ищу помощь в создании сочетаний клавиш, которые позволят мне вставлять их в терминал.

В настоящее время я использую xdotool для этого. Я могу создать новый ярлык и заставить xdotool выводить на терминал, если я делаю что-то простое, например (например, «Hello world» или «test»). Текст, который мне нужно вывести на терминал, содержит несколько разных символов и знаков, я не знаю, из-за этого ли у меня проблема.

Мне нужно распечатать следующий текст:

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

при создании нового ярлыка вот что я поместил в раздел команд:

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

Я не уверен, правильный ли способ я использую, но я открыт для любых предложений или других вариантов выполнения этой задачи.

любая помощь будет высоко оценена

спасибо Майк

решение1

Поскольку у вас есть строка в двойных кавычках, вам необходимо экранировать все внутренние двойные кавычки, чтобы они не воспринимались как завершение строки в кавычках:

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

Связанный контент