26 lines
1.0 KiB
Bash
26 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
# =============================================================================
|
|
# start.sh —— Linux / WSL / macOS 一键启动脚本。
|
|
#
|
|
# 与 start.ps1 同样四步,只是 shell 改 bash:
|
|
# 1) docker compose build
|
|
# 2) docker compose up -d
|
|
# 3) docker exec ... bash build.sh
|
|
# 4) docker exec ... source install/setup.bash && bash
|
|
# =============================================================================
|
|
|
|
set -euo pipefail # 出错即停;严格变量未定义检查;管道失败传播。
|
|
cd "$(dirname "$0")" # 切到本脚本所在目录(确保 docker-compose.yml 路径对)。
|
|
|
|
echo "[1/4] 构建镜像 (首次约 5-10 分钟)..." >&2
|
|
docker compose -f docker/docker-compose.yml build
|
|
|
|
echo "[2/4] 启动容器..." >&2
|
|
docker compose -f docker/docker-compose.yml up -d
|
|
|
|
echo "[3/4] 进入容器并编译..." >&2
|
|
docker exec -it ros2_dev bash -lc "cd /root/ros2_ws && bash build.sh"
|
|
|
|
echo "[4/4] 进入开发终端..." >&2
|
|
docker exec -it ros2_dev bash -lc "source install/setup.bash && exec bash"
|