Linux使用GRUB增添内核参数,用sed添加一个内核参数给grub

我正在写一个bash脚本来非交互式地在Linux系统上启用休眠模式。为此,我需要在一行的特定行中插入一个包含斜杠的shell变量,并在该行的引号内。用sed添加一个内核参数给grub

文件的相关部分到B编辑看起来像这样:

GRUB_DEFAULT=0

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="Manjaro"

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

GRUB_CMDLINE_LINUX=""

我需要把它改成这样:

GRUB_DEFAULT=0

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="Manjaro"

GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/disk/by-partuuid/c5a552c2-fe8f-423a-9037-c35bf090d9c3"

GRUB_CMDLINE_LINUX=""

添加的参数由shell变量提供。

我想这一点:我的目标是为

sed -i '\*^GRUB_CMDLINE_LINUX_DEFAULT* s*"$* '"$(grub_resume_boot_option)"'"*' /etc/default/grub

的逻辑是:“寻找与模式开始行‘GRUB_CMDLINE_LINUX_DEFAULT’,并替换最后一个”给定模式。使用*作为分隔符来保留扩展变量中的斜杠。“

但是,如果行尾有空格,命令会失败。是否有任何方法可以使其不会在?行考虑

此外,如果有更简单或可读的解决方案,这一点,我会非常有兴趣

+0

你如何确定'resume =/dev/disk/by-partuuid/c5a ....'的值? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值