Bestimmte Datenträger im dd-Befehlsskript zum Löschen von Datenträgern ausschließen

Bestimmte Datenträger im dd-Befehlsskript zum Löschen von Datenträgern ausschließen
 for disk in $(lspv | awk '{print $1}') ; do
   dd if=/dev/zero of=/dev/${disk} bs=1024 count=$(bootinfo -s ${disk})
   echo $disk wiped
done

Wie schließe ich bestimmte Festplatten wie hdisk0, hdisk1 und hdisk3 aus?

Grüße, Adel

Antwort1

Der einfachste Weg wäre:

for disk in $(lspv | awk '{print $1}') ; do
   case "$disk" in
      hdisk0|hdisk1|hdisk3)
          continue
          ;;
   *)
       dd if=/dev/zero of=/dev/${disk} bs=1024 count=$(bootinfo -s ${disk})
       echo $disk wiped
       ;;
   esac
done

Antwort2

Listen Sie in Ihrem Befehl entweder explizit die Datenträger auf, die Sie löschen möchten, oder fügen Sie Ihrem Befehl eine Art Filter hinzu.

Vielleicht so etwas wielspv | awk '!/regex/ {print $1}'

verwandte Informationen