在编辑 fstab 的脚本中使用变量

在编辑 fstab 的脚本中使用变量

我制作了一个简单的脚本来挂载 DATA 分区,以激发我的发行版跳跃热情。我并没有完全替换/home这个分区,只是替换了几个文件夹,这样我就可以通过多次安装来保存我的文件。

我试图为其他用户简化代码,但确实没有太多经验。我正在使用一个变量,以便用户可以为数据分区添加自己的名称。但是,当进行编辑时,fstab除非我在语句中重新分配变量,否则它不会输入正确的名称if ... else。我将省略我的 UUID 以使其更短。$name指脚本开头设置的变量$name=DATA

echo "Adding DATA part UUID to fstab"
if grep -Fxq "UUID=xxx /mnt/$name ext4 defaults,noatime 0 2" /etc/fstab; then
echo "Already in fstab"
else
name=DATA #If I dont put this line in then fstab is edited with '$name' instead of actually putting the variable in.
sudo echo "UUID=xxx /mnt/$name ext4 defaults,noatime 0 2" >> /etc/fstab
fi

这是我在 Stack Exchange 上发表的第一篇文章,因此如果格式不正确,请告诉我。

答案1

要重用您的代码,没有理由不这样做。

#!/usr/bin/env bash

DEV_IDENTIFIER="UUID=xxx"
MOUNTPOINT="/mnt/data"

fstab_line="${DEV_IDENTIFIER} ${MOUNTPOINT} ext4 defaults,noatime 0 2"

echo "Adding DATA part UUID to fstab"
if grep -Fxq "${fstab_line}" /etc/fstab; then
  echo "Already in fstab"
else
  echo "${fstab_line}" | sudo tee -a /etc/fstab
fi

相关内容