Рейтинг:0

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

флаг us

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

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

Напечатанный текст, который мне нужно напечатать:

вызов rosservice /xm540arm/torque_enable "{cmd_type: 'group', name: 'arm', enable: false}"

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

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

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

любая помощь будет принята с благодарностью

Благодарность Майк

Mike Becker avatar
флаг us
им жаль, я думаю, я пропустил эту информацию. Я использую Ubuntu 20.04 и имею помощника для рабочего стола. используя raspberry pi4 в качестве компьютера
Mike Becker avatar
флаг us
Я смог получить сообщение для печати на терминале. он не печатает его точно так же, как я его печатаю. Когда я запускаю команду, которая была напечатана на терминале, я получаю ответное сообщение. вызов rosservice /xm540arm/torque_enable {cmd_type:group,name:arm,enable:false} ОШИБКА: Не удалось отправить запрос. Одно из полей имеет неверный тип: поле enable не является логическим срв файл: строка cmd_type имя строки логическое значение ---
David avatar
флаг cn
Дополнительную информацию необходимо добавить к вопросу через редактирование, а не как комментарии.
terdon avatar
флаг cn
Вы уверены, что это действительно то, чего вы хотите? Я подозреваю, что вы на самом деле ищете псевдонимы оболочки, а не способ вставки команд. Можете ли вы объяснить, какова конечная цель? Вы хотите запустить команды или просто увидеть их?
Рейтинг:1
флаг cn

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

/bin/bash -c "sleep 0.5 && xdotool type 'rosservice call /xm540arm/torque_enable \"{cmd_type: 'group', name: 'arm', enable: false}\"'"
Mike Becker avatar
флаг us
terdon спасибо за ответ, я попробую и дам вам знать, как это работает. Я пытаюсь выполнить команду, чтобы отключить крутящий момент на двигателях манипуляторов роботов. затем я могу поставить руку и снова включить двигатель без необходимости копировать и вставлять каждый раз, когда мне нужна новая поза. Я открыт для вашего комментария о псевдонимах оболочки. Все это все еще ново для меня, поэтому мне придется провести некоторое исследование о них, чтобы узнать, что они из себя представляют и как их использовать. еще раз спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.