sed + 替换 grub.conf 中的默认值

sed + 替换 grub.conf 中的默认值

我想将所有机器上的默认值更改为 default=0

默认值可以是任意整数

如何在 sed 语法中设置默认值可以是任意数字

我的例子(不起作用)

for server_ip in $all_servers
   do
   ssh $server_ip  "sed -i s'/default=[0-9]/default=0/g' /etc/grub.conf"
done

grub.conf 示例

  more /etc/grub.conf
  # grub.conf generated by anaconda
  #
  # Note that you do not have to rerun grub after making changes to this     file
  # NOTICE:  You have a /boot partition.  This means that
  #          all kernel and initrd paths are relative to /boot/, eg.
  #          root (hd0,0)
  #          kernel /vmlinuz-version ro root=/dev/rootvg/slash
  #          initrd /initrd-version.img
  #boot=/dev/cciss/c0d0
  default=2

答案1

脚本中的原始版本您的问题包含一个错误,即变量名称all-servers非法。shell-变量名称中不允许使用字符。

有效字符为[A-Za-z0-9_]。

相关内容