# 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/.py` | `docker exec ros2_dev bash /root/ros2_ws/scripts/launch.sh pubsub_launch` | | `shell.sh` | 自动判断容器状态,进入开发终端 | `bash scripts/shell.sh` | ## 调用方式(2 选 1) ```bash # 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 ``` ```bash # 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` 等价 | *(计划中,后续补上)*