diff --git a/scripts/prod-backend.sh b/scripts/prod-backend.sh index 4fcfbf1..d98196c 100755 --- a/scripts/prod-backend.sh +++ b/scripts/prod-backend.sh @@ -115,7 +115,7 @@ sleep 4 # 验证 daemon 是否就绪(用简单的 topic list 测试) DAEMON_OK=0 for i in $(seq 1 5); do - DAEMON_TOPICS=$(source "$ROS_SETUP" && ROS_DOMAIN_ID=$ROS_DOMAIN_ID_VAL timeout 3 ros2 topic list 2>&1 | wc -l || echo 0) + DAEMON_TOPICS=$(bash -c "source \"$ROS_SETUP\" && ROS_DOMAIN_ID=$ROS_DOMAIN_ID_VAL timeout 3 ros2 topic list 2>&1" | wc -l || echo 0) if [ "$DAEMON_TOPICS" -gt 0 ]; then DAEMON_OK=1 echo " ✅ ros2 daemon 就绪" @@ -285,7 +285,7 @@ echo "==========================================" # 8a. 验证 ros2 topic list(核心指标) echo "" echo "验证 ros2 topic list..." -TOPIC_COUNT=$(source "$ROS_SETUP" && ROS_DOMAIN_ID=$ROS_DOMAIN_ID_VAL timeout 5 ros2 topic list 2>/dev/null | wc -l || echo 0) +TOPIC_COUNT=$(bash -c "source \"$ROS_SETUP\" && ROS_DOMAIN_ID=$ROS_DOMAIN_ID_VAL timeout 5 ros2 topic list 2>/dev/null" | wc -l || echo 0) echo " 话题数量: $TOPIC_COUNT" if [ "$TOPIC_COUNT" -gt 10 ]; then echo " ✅ ros2 daemon 正常 (${TOPIC_COUNT} 个话题)"