summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-11-29 15:08:22 -0600
committerCraig Jennings <c@cjennings.net>2024-11-29 15:08:22 -0600
commit916e999777ecdab646e32c7ba4939f45f1bcc0e2 (patch)
treead9cb6f924c6c3332c66a5ea2005bf81ad81dc04
parentaa15f420716be5f2316dbb12d6fea91cfdfef449 (diff)
adding wipedisk
-rw-r--r--wipedisk30
1 files changed, 30 insertions, 0 deletions
diff --git a/wipedisk b/wipedisk
new file mode 100644
index 0000000..0c08c72
--- /dev/null
+++ b/wipedisk
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Craig Jennings <c@cjennings.net>
+# identify disk and erase
+
+all_disk_ids=( $(ls /dev/disk/by-id/) )
+echo ""; echo "Select the disk id to use. All data will be erased."
+select disk_id in "${all_disk_ids[@]}"; do
+ # ensure valid selection
+ if [[ -n $disk_id ]]; then
+ selection=$disk_id
+ break
+ else
+ echo "Invalid. Try again."
+ fi
+done
+
+# Confirm the selected disk
+read -p "Confirm: '$selection' [y/n]? " choice
+if [[ "$choice" != "y" ]]; then
+ echo "Exiting..."
+ exit 1
+fi
+
+DISK="/dev/disk/by-id/$selection"
+echo ""; echo "### Erasing Disk"
+blkdiscard -f "${DISK}" || true # discard all sectors on flash-based storage
+sgdisk --zap-all "${DISK}" # clear the disk
+
+echo ""
+echo "Disk erased." \ No newline at end of file