码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 脚本文件中指定主题、保存路径执行rosbag record脚本文件编写方法


    如果您想在Shell脚本中使用参数来指定rosbag record的参数(例如,包括-a选项以记录所有主题),您可以创建一个包含参数的Shell脚本,并在其中运行rosbag record。以下是一个示例:

    创建一个Shell脚本文件,例如record_rosbag.sh,并在其中添加以下内容:

    #!/bin/bash
    
    # 设置默认参数
    ROSBAG_PARAMS=""
    
    # 解析命令行参数
    while [[ $# -gt 0 ]]; do
        key="$1"
    
        case $key in
            -a|--all-topics)
            # 如果指定了 -a 或 --all-topics 选项,将其添加到参数列表中
            ROSBAG_PARAMS+=" -a"
            shift # 跳过选项参数
            ;;
            -o|--output)
            # 如果指定了 -o 或 --output 选项,将其添加到参数列表中,同时获取输出目录
            ROSBAG_PARAMS+=" -o $2"
            shift # 跳过选项参数
            shift # 跳过选项值
            ;;
            *) # 不识别的参数
            echo "未知选项: $1"
            exit 1
            ;;
        esac
    done
    
    # 启动 rosbag 记录节点
    rosbag record $ROSBAG_PARAMS
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    在这个Shell脚本中,我们定义了一个ROSBAG_PARAMS变量,用于存储rosbag record的参数。然后,我们使用while循环来解析命令行参数,并根据参数的不同将选项添加到ROSBAG_PARAMS中。最后,我们在rosbag record命令中使用$ROSBAG_PARAMS来运行rosbag record。

    授予执行权限给这个Shell脚本文件:

    chmod +x record_rosbag.sh
    
    • 1

    现在,您可以运行Shell脚本并使用参数来控制rosbag record的行为。例如:

    ./record_rosbag.sh -a -o /your/custom/output/directory
    
    • 1

    这将启动rosbag record,并根据您的参数记录所有主题(使用-a选项)并将记录文件保存在/your/custom/output/directory目录中(使用-o选项)。您可以根据需要自定义参数以满足您的要求。

  • 相关阅读:
    承载22倍于自身重量前行,垂直跳跃59厘米,用爆炸驱动的昆虫机器人来了
    基于高端全闪存存储在医院中的应用与探索
    MS5611大气压强传感器驱动代码(基于GD32F103)
    如果忘记了 iPhone 密码
    电脑重装系统后鼠标动不了该怎么解决
    网关信息查看
    leetcode 2520 统计能整除数字的位数
    实验四 内核线程管理-实验部分
    高阶数据结构—— 哈希
    阿里云 linux 的nginx 配置uni-app的H5前端项目vue,后端接口阿里云。
  • 原文地址:https://blog.csdn.net/weixin_40921238/article/details/133379019
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号