#!/bin/bash # 检查到未定义的变量则停止执行并报错 set -u source /home/cicv/work/pji_desktop/config.sh # 检查参数数量 if [ "$#" -ne 1 ]; then echo "Error: Incorrect number of arguments" echo "Usage: $0 ZIP_FILE_PATH" exit 1 fi ZIP_FILE_PATH=$1 #SIMULATION_PATH="/home/cicv/work/pji_desktop/simulation" #UNZIP_DATA_PATH="/home/cicv/work/pji_desktop/tmp_download/simulation_zip/data" # 检查zip文件是否存在 if [ -e "$ZIP_FILE_PATH" ]; then echo "The file exists: $ZIP_FILE_PATH" else echo "The file does not exist: $ZIP_FILE_PATH" exit 1 fi # 清除历史文件 ## 检查要删除的目录是否为空 if [[ -z "$UNZIP_DATA_PATH" ]]; then echo "Error: Variable UPDATE_DATA_PATH is not set or empty" exit 1 fi echo "Starting deleting old files: $UNZIP_DATA_PATH..." ## 删除对应目录 sudo safe-rm -rf "$UNZIP_DATA_PATH" echo "Old files deleted: $UNZIP_DATA_PATH" # 解压文件 echo "Starting decompressing zip file: $ZIP_FILE_PATH..." ## 解压zip文件 unzip -o "$ZIP_FILE_PATH" -d "$UNZIP_DATA_PATH" # -o表示覆盖现有文件 ## 解压data目录 unzip -o "$UNZIP_DATA_PATH/data.zip" -d "$UNZIP_DATA_PATH/data" # -o表示覆盖现有文件 echo "Zip file decompressed: $ZIP_FILE_PATH" # 复制文件到项目目录 ## data目录 echo "Starting copying directory: $UNZIP_DATA_PATH/data to $SIMULATION_PATH/data/pjirobot..." sudo safe-rm -rf "$SIMULATION_PATH"/data/pjirobot/data/* sudo cp -r "$UNZIP_DATA_PATH/data" "$SIMULATION_PATH/data/pjirobot/" echo "Directory copy successfully" ## mapBuf echo "Starting copying directory: $UNZIP_DATA_PATH/data/mapBuf to $SIMULATION_PATH/data..." sudo safe-rm -rf "$SIMULATION_PATH"/data/mapBuf/* sudo cp -r "$UNZIP_DATA_PATH/data/mapBuf" "$SIMULATION_PATH/data/" echo "Directory copy successfully" ## origin_map.bag echo "Starting copying file: $UNZIP_DATA_PATH/origin_map.bag to $SIMULATION_PATH/data/map_bag..." cp "$UNZIP_DATA_PATH/origin_map.bag" "$SIMULATION_PATH/data/map_bag" echo "File copy successfully" ## map.bag echo "Starting copying file: $UNZIP_DATA_PATH/map.bag to $SIMULATION_PATH/data/map_bag..." cp "$UNZIP_DATA_PATH/map.bag" "$SIMULATION_PATH/data/map_bag" echo "File copy successfully" ## map.world echo "Starting copying file: $UNZIP_DATA_PATH/map.world to $SIMULATION_PATH/catkin_ws/src/SimulationEnvs/worlds..." cp "$UNZIP_DATA_PATH/map.world" "$SIMULATION_PATH/catkin_ws/src/SimulationEnvs/worlds" echo "File copy successfully" ## map.stl - 1 echo "Starting copying file: $UNZIP_DATA_PATH/map.stl to $SIMULATION_PATH/catkin_ws/src/SimulationEnvs/models/map/meshes..." cp "$UNZIP_DATA_PATH/map.stl" "$SIMULATION_PATH/catkin_ws/src/SimulationEnvs/models/map/meshes" echo "File copy successfully" ### map.stl - 2 #echo "Starting copying file: $UNZIP_DATA_PATH/map.stl to $SIMULATION_PATH/catkin_map2gazebo/src/models/map/meshes..." #cp "$UNZIP_DATA_PATH/map.stl" "$SIMULATION_PATH/catkin_map2gazebo/src/models/map/meshes" #echo "File copy successfully" ## merged_obstacles_new.csv echo "Starting copying file: $UNZIP_DATA_PATH/merged_obstacles_new.csv to $SIMULATION_PATH/merge_obstacles_data..." cp "$UNZIP_DATA_PATH/merged_obstacles_new.csv" "$SIMULATION_PATH/merge_obstacles_data" echo "File copy successfully" ## map.pgm echo "Starting copying file: $UNZIP_DATA_PATH/map.pgm to $SIMULATION_PATH/catkin_ws/src/Navigation/map..." cp "$UNZIP_DATA_PATH/map.pgm" "$SIMULATION_PATH/catkin_ws/src/Navigation/map" echo "File copy successfully" ## map.yaml echo "Starting copying file: $UNZIP_DATA_PATH/map.yaml to $SIMULATION_PATH/catkin_ws/src/Navigation/map..." cp "$UNZIP_DATA_PATH/map.yaml" "$SIMULATION_PATH/catkin_ws/src/Navigation/map" echo "File copy successfully" echo "Data preparation done."