Busybox:执行defconfig后如何命令行禁用CONFIG_TC
Busybox的tc组件存在尚未修复的Bug,我希望将配置设置为:
# CONFIG_TC is not defined
但不想通过menuconfig操作,需要在Busybox编译脚本中添加命令,替换.config文件中的CONFIG_TC=y为上述内容。编译脚本框架如下:
make defconfig # 补丁命令位置 # make
请问该如何实现这个替换命令?
解决方案
可以使用sed命令实现精准文本替换,直接在脚本中添加以下命令:
sed -i 's/^CONFIG_TC=y$/# CONFIG_TC is not defined/' .config
命令细节:
-i:直接原地修改.config文件,无需生成临时文件^CONFIG_TC=y$:正则表达式精准匹配整行的CONFIG_TC=y(^表示行首,$表示行尾)- 替换部分:将匹配到的行替换为
# CONFIG_TC is not defined
如果要兼容默认未开启tc的场景(即.config中原本没有CONFIG_TC=y),可以用以下组合命令确保最终配置正确:
# 删除所有包含CONFIG_TC的配置行 sed -i '/^CONFIG_TC/d' .config # 添加禁用配置到文件末尾 echo '# CONFIG_TC is not defined' >> .config
内容的提问来源于stack exchange,提问作者curlywei
相关产品推荐
相关产品推荐

