用于检查标签的 Bash 脚本

用于检查标签的 Bash 脚本

我有一个 USB 磁盘,其分区标有“备份”

我正在使用 usbmount 包,它会自动将磁盘安装在 /media/usb[0-7]

我希望创建一个 bash 脚本,检查在开始之前是否将带有“Backup”标签的磁盘安装在 /media/usb0 处。

到目前为止,我已经使用 e2label 来检查和更新磁盘标签。

除此之外,我不确定解决这个问题的最佳方法。

答案1

大概是这样的

#!/bin/sh
MatchLabel=Backup
CheckPath=/mnt/usb0

realDevice=`readlink -f /dev/disk/by-label/$MatchLabel 2>/dev/null`
mountedDevice=`awk "/ $CheckPath /{print \$1}" /etc/mtab 2>/dev/null`
test "$mountedDevice" && realMountedDevice=`readlink -f $mountedDevice`

if test "$realDevice" = "$realMountedDevice"; then
    echo $MatchLabel mounted to $CheckPath
else
    echo $realMountedDevice was unexpectedly mounted to $CheckPath
fi

相关内容