首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从bash脚本调用rosbag信息

从bash脚本调用rosbag信息
EN

Stack Overflow用户
提问于 2021-08-23 13:18:57
回答 1查看 102关注 0票数 1

当您调用ROS rosbag info abag.bag时,您会得到以下内容

代码语言:javascript
复制
path:        abag.bag
version:     2.0
duration:    1:35s (95s)
start:       Aug 23 2021 03:34:46.34 (1629689686.34)
end:         Aug 23 2021 03:36:21.45 (1629689781.45)
size:        1.1 GB
messages:    952
compression: none [952/952 chunks]
types:       sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
topics:      image_results   952 msgs    : sensor_msgs/Image

是否有方法从bash shell文件中调用此程序,然后仅提取一个字段(例如消息)来比较

在伪代码中,类似于

代码语言:javascript
复制
call rosbag info and get messages
if messages== 952
then print("everything ok")
else print("some messages were skipped"

这在bash脚本中是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-23 13:40:57

是的你真的可以。rosbag info有一个标志,-k,用于提取特定字段;您还需要使用-y才能工作。因此,在您的示例中,提取消息的数量类似于rosbag info -y -k messages abag.bag。如果您想将所有这些都放在bash脚本中,它可以类似于将预期的消息数作为命令行参数传递到其中的位置:

代码语言:javascript
复制
expectedNum=$1
actualNum=$(rosbag info -y -k messages abag.bag)
if (( expectedNum==actualNum )); then
    echo "everything okay"
else
    echo "everything not okay"
fi
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68893446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档