| #!/bin/bash | |
| ################################################ | |
| # | |
| # Send a TEST UNIT READY SCSI command to each given device. | |
| # | |
| # This script assumes the sg3_utils package is installed and uses | |
| # the sg_turs utility.. | |
| # | |
| ############################################### | |
| verbose="" | |
| brief="" | |
| usage() | |
| { | |
| echo "Usage: scsi_ready [-b] [-h] [-v] <device>+" | |
| echo " where:" | |
| echo " -b, --brief print 'ready' or 'device not ready' only" | |
| echo " -h, --help print usage message" | |
| echo " -v, --verbose more verbose output" | |
| echo "" | |
| echo "Send SCSI TEST UNIT READY to each <device>" | |
| } | |
| opt="$1" | |
| while test ! -z "$opt" -a -z "${opt##-*}"; do | |
| opt=${opt#-} | |
| case "$opt" in | |
| b|-brief) brief="1" ;; | |
| h|-help) usage ; exit 0 ;; | |
| 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 | |
| echo "sg_turs $verbose $i" | |
| fi | |
| echo -n " " | |
| if sg_turs $verbose $i ; then | |
| echo "ready" | |
| fi | |
| done |