#!/bin/sh -e

if [ "$1" == '--names-only' ]; then
    NAMES_ONLY=1
fi

cd /sys/block
ls | while read l; do
    if [ -r "$l/removable" ] && [ "$(cat "$l/removable")" == 1 ]; then
	if [ "$NAMES_ONLY" == 1 ]; then
	    echo "$l"
else
	    SIZE="$(cat "$l/size")"
	    if [ "$SIZE" -ge 2048 ]; then
		let SIZE=$SIZE/2048
else 
		SIZE=0
	    fi

	    PREFIX=''
	    if mount | cut -f1 -d ' ' | egrep --silent "^/dev/$l[[:digit:]]*"; then
		PREFIX='* '
	    fi
	    echo "$PREFIX$l, $SIZE MB, $(cat "$l/device/model")"
	fi
    fi
done
