SED:如何使用变量

SED:如何使用变量

我正在为操作系统安装后编写脚本,该脚本将包括设置应用程序和数据库的环境,还将包括强化。手动执行此操作不切实际,需要数小时,而 Bash 脚本只需几秒钟即可完成。

现在对于强化部分,我必须设置 Grub 密码。

使用sed我使用这个命令

sed -i '/timeout/ a password --md5 "$gpassword"' /boot/grub/grub.conf

也尝试过

sed -i '/timeout/ a password --md5 `grub_crypt' /boot/grub/grub.conf

但问题是这只是写

password --md5 "$gpassword"

在 /boot/grub/grub.conf 中

有没有办法解决这个问题,甚至更好的方法

答案1

变量不会在内扩展'...',因此需要使用双引号,如下所示:

sed -i "/timeout/ a password --md5 $gpassword" /boot/grub/grub.conf

相关内容