Fix shell compatibility issues in prod-backend.sh
- Use bash -c explicitly for command substitution with source - Fixes 'source: not found' errors when running subshells Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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} 个话题)"
|
||||
|
||||
Reference in New Issue
Block a user