run_map2gazebo.sh 970 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. # 检查到未定义的变量则停止执行并报错
  3. set -u
  4. source /home/cicv/work/pji_desktop/config.sh
  5. #SIMULATION_PATH="/home/cicv/work/pji_desktop/simulation"
  6. MAP2GAZEBO_LOG_PATH="$SIMULATION_PATH/logs/run_map2gazebo.log"
  7. MAP2GAZEBO_START_FLAG="map2gazebo running"
  8. # 激活conda环境
  9. source activate simulation
  10. # 清除环境
  11. ## kill ros节点
  12. rosnode kill --all
  13. ## 删除历史日志
  14. safe-rm "$MAP2GAZEBO_LOG_PATH"
  15. sleep 0.5
  16. # 执行命令
  17. command="cd $SIMULATION_PATH/catkin_map2gazebo && safe-rm -r build devel && catkin_make && source devel/setup.bash && roslaunch --screen map2gazebo map2gazebo.launch "
  18. nohup script -q -c bash -c "$command" > "$MAP2GAZEBO_LOG_PATH" 2>&1 &
  19. disown
  20. # 检查脚本启动标志
  21. tail -F "$MAP2GAZEBO_LOG_PATH" | while read LINE; do
  22. if echo "$LINE" | grep -q "$MAP2GAZEBO_START_FLAG"; then
  23. # 此标志输出给前端,请勿删除或修改!
  24. echo "Service map2gazebo started."
  25. break
  26. fi
  27. done