• 脚本文件中指定主题、保存路径执行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选项)。您可以根据需要自定义参数以满足您的要求。

  • 相关阅读:
    Java项目:SSM图书在线销售商城网站
    说说 JSON 格式的弊端与解决方法
    jmeter如何测试websocket接口?
    从另外一个进程中读取数据
    .net 温故知新:【8】.NET 中的配置从xml转向json
    随机过程基础知识(二)
    Istio学习笔记-体验istio
    Linux实战——网络连接模式的三种模式
    Rust for循环语法糖背后的API
    腾讯音乐评论审核、分类与排序算法技术
  • 原文地址:https://blog.csdn.net/weixin_40921238/article/details/133379019