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 是否就绪(用简单的 topic list 测试)
|
||||||
DAEMON_OK=0
|
DAEMON_OK=0
|
||||||
for i in $(seq 1 5); do
|
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
|
if [ "$DAEMON_TOPICS" -gt 0 ]; then
|
||||||
DAEMON_OK=1
|
DAEMON_OK=1
|
||||||
echo " ✅ ros2 daemon 就绪"
|
echo " ✅ ros2 daemon 就绪"
|
||||||
@@ -285,7 +285,7 @@ echo "=========================================="
|
|||||||
# 8a. 验证 ros2 topic list(核心指标)
|
# 8a. 验证 ros2 topic list(核心指标)
|
||||||
echo ""
|
echo ""
|
||||||
echo "验证 ros2 topic list..."
|
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"
|
echo " 话题数量: $TOPIC_COUNT"
|
||||||
if [ "$TOPIC_COUNT" -gt 10 ]; then
|
if [ "$TOPIC_COUNT" -gt 10 ]; then
|
||||||
echo " ✅ ros2 daemon 正常 (${TOPIC_COUNT} 个话题)"
|
echo " ✅ ros2 daemon 正常 (${TOPIC_COUNT} 个话题)"
|
||||||
|
|||||||
Reference in New Issue
Block a user