2.1 KiB
2.1 KiB
scripts/ · ROS2 学习套件常用命令脚本
设计:把所有"长 shell 命令 + docker exec 路径"封装成可执行 shell 脚本, 避免小白每次都手敲容易出错的长命令。所有脚本都跑在容器内
ros2_dev。跟 Makefile / docker compose 不冲突,就是更零碎场景的薄封装。
容器生命周期
| 脚本 | 作用 | 用法(PowerShell) |
|---|---|---|
build.sh |
容器内编译 12 包(替代 bash build.sh 缺失的死链) |
docker exec ros2_dev bash /root/ros2_ws/scripts/build.sh |
test.sh |
容器内跑 12 包测试 + 汇总 + 详细日志 | docker exec ros2_dev bash /root/ros2_ws/scripts/test.sh |
launch.sh |
容器内启动 bringup/<name>.py |
docker exec ros2_dev bash /root/ros2_ws/scripts/launch.sh pubsub_launch |
e2e_check.sh |
端到端冒烟:启 4 节点跑 8s,验证 topic 互通 + 清理子进程 | docker exec ros2_dev bash /root/ros2_ws/scripts/e2e_check.sh |
shell.sh |
自动判断容器状态,进入开发终端 | bash scripts/shell.sh |
clean.sh |
删 build/install/log(编译产物) |
docker exec ros2_dev bash /root/ros2_ws/scripts/clean.sh |
clean_ros.sh |
SIGKILL 所有 chatter_* 残留进程(launch.sh forever 模式调试后用) | docker exec ros2_dev bash /root/ros2_ws/scripts/clean_ros.sh |
调用方式(2 选 1)
# A. 直接通过 docker exec 调脚本(Widows / Linux 都行)
docker exec ros2_dev bash /root/ros2_ws/scripts/build.sh
docker exec ros2_dev bash /root/ros2_ws/scripts/test.sh
docker exec ros2_dev bash /root/ros2_ws/scripts/launch.sh pubsub_launch
# B. 整段进容器再跑(Windows 推荐 + 调试时)
docker exec -it ros2_dev bash
source /opt/ros/humble/setup.bash
source /root/ros2_ws/install/setup.bash
bash scripts/build.sh
维护脚本(项目根目录,不在容器内)
| 脚本 | 作用 |
|---|---|
make_build.ps1 |
PowerShell 一键:build 镜像 → up 容器 |
make_up.ps1 |
PowerShell 一键:docker compose -p ros2 up -d |
make_shell.ps1 |
PowerShell 一键:make shell 等价 |
(计划中,后续补上)