1.背景:
Qt Creator ROS2 没有提供官方集成(2024-10-12),用 Github 开源插件 ros_qtc_plugin(参见我的另一篇博客 Ubuntu22 Qt6.6 ROS 插件, 使 Qt Creator 可编译ROS工程)。由于Qt 版本变化,插件突然失效,Qt 无法打开我的 ROS2 工程。没时间调研,暂时采取注释掉 CMakeLists 文件中ROS2 相关内容,Qt Creator 仅用来编辑 Qt UI 页面,命令行编译方式workaround。
Shell 脚本功能:修改CMakelists.txt,注释/取消注释 #ros2 start
和 #ros2 end
之间的内容(不包括这两行,以及其他注释)
2. sed 命令解释
# 使用sed取消注释ROS相关内容
sed -i '/#ros2 start/,/#ros2 end/{/^#ros2 start/!{/^#ros2 end/!s/^/#/}}' "$file" && \
echo "ROS content uncommented in $file"
这里的sed
命令使用了以下参数:
-i
:直接对文件进行编辑(in-place),不输出到标准输出。 <