#!/usr/bin/bash ################################################################### # # Fetch READ CAPACITY information for the given SCSI device(s). # # This script assumes the sg3_utils package is installed. # ################################################################## verbose="" brief="" long_opt="" usage() { echo "Usage: scsi_readcap [-b] [-h] [-l] [-v] +" echo " where:" echo " -b, --brief output brief capacity data" echo " -h, --help print usage message" echo " -l, --long send longer SCSI READ CAPACITY (16) cdb" echo " -v, --verbose more verbose output" echo "" echo "Use SCSI READ CAPACITY command to fetch the size of each " } opt="$1" while test ! -z "$opt" -a -z "${opt##-*}"; do opt=${opt#-} case "$opt" in b|-brief) brief="-b" ;; h|-help) usage ; exit 0 ;; l|-long) long_opt="--16" ;; v|-verbose) verbose="-v" ;; vv) verbose="-vv" ;; vvv) verbose="-vvv" ;; *) echo "Unknown option: -$opt " ; exit 1 ;; esac shift opt="$1" done if [ $# -lt 1 ] then usage exit 1 fi for i do if [ $brief ] ; then sg_readcap $brief $long_opt $verbose $i 2> /dev/null else echo "sg_readcap $brief $long_opt $verbose $i" sg_readcap $brief $long_opt $verbose $i fi done