29 lines
944 B
Bash
Executable File
29 lines
944 B
Bash
Executable File
#!/bin/sh
|
|
# this script depends on /sbin/blkid from the util-linux package
|
|
|
|
# usage: un_blkid <device> <fs_type> [<offset>]
|
|
# <device> may be any device that should be checked.
|
|
# if no <fs_type> is given, the check fails for any valid filesystem
|
|
# if <fs_type> is given, the check fails when a filesystem type <fs_type>
|
|
# is found on the device.
|
|
|
|
if test ! -x "/sbin/blkid"; then
|
|
echo " - WARNING: blkid from util-linux is not available, impossible to run checks."
|
|
exit 1
|
|
fi
|
|
|
|
dev="$1"
|
|
fs="$2"
|
|
offset="${3-}"
|
|
|
|
blkid="$(/sbin/blkid -o value -s TYPE -p ${offset:+-O "$offset"} -- "$dev")"
|
|
|
|
# blkid output is empty if $dev has an unknown filesystem
|
|
if [ -n "$blkid" ] && [ -z "$fs" ]; then
|
|
echo " - The device $dev contains a filesystem type $blkid${offset:+" at offset $offset"}."
|
|
exit 1
|
|
elif [ -n "$fs" ] && [ "$blkid" = "$fs" ]; then
|
|
echo " - The device $dev contains a filesystem type $fs${offset:+" at offset $offset"}."
|
|
exit 1
|
|
fi
|