Grub

通過 bash 腳本編輯 GRUB_CMDLINE_LINUX_DEFAULT 的值

  • November 29, 2017

我想附加fastboot到 /etc/default/grub 中 GRUB_CMDLINE_LINUX_DEFAULT 變數的現有值的末尾,而不是手動,而是使用 bash 腳本和echo命令。問題是這個變數的初始值在不同的機器上是不同的,所以我不知道使用哪種搜尋算法來定位變數值的結束位置。我想展示如何fastboot直接附加到現有值。

不知道如何在純 bash 中做到這一點,但通常搜尋和替換會呼叫 onawksed.

sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT.*/& fastboot/'  /etc/default/grub

-i: 就地更換

其次是搜尋和替換語法s/REGEXP/REPLACEMENT/

^GRUB_CMDLINE_LINUX_DEFAULT.*: 一個正則表達式,匹配以 GRUB_CMDLINE_LINUX_DEFAULT 開頭的行^和該字元串之後的任意數量的字元:.*

& fastboot: REPLACEMENT 字元串,其中未轉義&字元引用模式空間的整個匹配部分(即無論 REGEXP 匹配什麼,在本例中為:整行)並追加fastboot

引用自:https://serverfault.com/questions/885684