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

関連情報