Give better information for the drive selection
Model/vendor + known partitions
This commit is contained in:
1 parent
772d4e2813
commit
6aff2b3e20
1 file changed
+25
-4
@@ -176,16 +176,37 @@ done
|
||||
|
||||
get_disk_info() {
|
||||
local device="$1"
|
||||
local size model
|
||||
local size vendor model label
|
||||
|
||||
# Get basic disk information
|
||||
size=$(lsblk -dno SIZE "$device" 2>/dev/null)
|
||||
model=$(lsblk -dno MODEL "$device" 2>/dev/null | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')
|
||||
vendor=$(lsblk -dno VENDOR "$device" 2>/dev/null | sed 's/ *$//')
|
||||
model=$(lsblk -dno MODEL "$device" 2>/dev/null | sed 's/ *$//')
|
||||
|
||||
# Combine vendor and model, avoiding duplication
|
||||
label=""
|
||||
if [[ -n $vendor && -n $model ]]; then
|
||||
if [[ $model == *$vendor* ]]; then
|
||||
label="$model"
|
||||
else
|
||||
label="$vendor $model"
|
||||
fi
|
||||
elif [[ -n $model ]]; then
|
||||
label="$model"
|
||||
elif [[ -n $vendor ]]; then
|
||||
label="$vendor"
|
||||
fi
|
||||
|
||||
# Format display string
|
||||
local display="$device"
|
||||
[[ -n "$size" ]] && display="$display ($size)"
|
||||
[[ -n "$model" ]] && display="$display - $model"
|
||||
[[ -n $size ]] && display="$display ($size)"
|
||||
[[ -n $label ]] && display="$display - $label"
|
||||
|
||||
# Append compact partition summary
|
||||
local part_summary
|
||||
part_summary=$(lsblk -nro TYPE,NAME,FSTYPE,MOUNTPOINT "$device" 2>/dev/null | \
|
||||
awk '$1=="part" { printf "%s%s%s", s, ($3==""?"unknown":$3), ($4==""?"":"("$4")"); s=", " }')
|
||||
[[ -n $part_summary ]] && display+=" [$part_summary]"
|
||||
|
||||
echo "$display"
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user