![sed + 替换 grub.conf 中的默认值](https://linux22.com/image/689350/sed%20%2B%20%E6%9B%BF%E6%8D%A2%20grub.conf%20%E4%B8%AD%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%20.png)
我想将所有机器上的默认值更改为 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_]。