#!/bin/sh # this script depends on /sbin/blkid from the util-linux package # usage: blkid [] # may be any device that should be checked. # if no is given, the check fails if no valid filesystem is found. # if is given, the check fails when no filesystem type # is found on the device. if is 'none', the check fails if any # know filesystem is found. 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 [ -z "$blkid" ] && [ -z "$fs" ]; then echo " - The device $dev does not contain a known filesystem${offset:+" at offset $offset"}." exit 1 elif [ -n "$blkid" ] && [ "$fs" = "none" ]; 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 does not contain a filesystem type $fs${offset:+" at offset $offset"}." exit 1 fi