Как написать 'rostopi c echo' в bash? - PullRequest
0 голосов
/ 12 января 2020

Я новичок в ROS и Bash сценарии. Я пытаюсь использовать команду rostopi c echo / topi c name в файле bash, но мой файл bash принимает эхо как свое собственное эхо, а не то, что в rostopi c команда. Мы ценим любые предложения. Вот мой код:

#!/bin/bash
source '----/catkin_ws/devel/setup.bash'
if [ $1 == 1 ]
then
    echo "$2"
    topiclist=$(rostopic echo /topic name)
    echo "$topiclist"
fi

1 Ответ

0 голосов
/ 23 января 2020

С некоторой интерпретацией того, чего вы, возможно, захотите достичь, рассмотрите что-то вроде этого (измените пути, топи c имена соответственно):

#!/bin/bash
source '/home/yourUsername/catkin_ws/devel/setup.bash'
if [ "$1" = "1" ];
then
    echo "Available topics"
    topiclist=$(rostopic list)
    echo "$topiclist"
    echo "Echoing topic $2"
    rostopic echo $2
fi

Я не уверен, почему вы хотите первый if заявление. На данный момент он проверяет, вызвали ли вы сценарий с 1 в качестве первого аргумента, например:

./bashEcho 1 myTopic

Также обратите внимание, что этот сценарий не завершится при нормальных обстоятельствах. Вы должны нажать ctrl+c, чтобы остановить процесс rostopic echo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...