#!/bin/sh # Health status of all physical disks command -v smartctl > /dev/null 2>&1 || { echo "smartctl not found" >&2; exit 1; } for disk in $(lsblk -dno NAME,TYPE | awk '$2 == "disk" {print $1}'); do status=$(smartctl -H "/dev/$disk" | sed -n 's/.*self-assessment test result: //p') echo "$disk: ${status:-unknown}" done