#!/bin/bash # Check if VMs are provided if [ $# -eq 0 ]; then echo "Error: No VM names provided. Usage: $0 vm1 vm2 vm3" exit 1 fi # List VMs to be removed echo "The following VMs will be permanently destroyed:" for vm in "$@"; do echo "- $vm" done # Confirmation prompt read -p "Are you sure you want to remove these VMs? (y/N): " confirmation if [[ ! "$confirmation" =~ ^[Yy]$ ]]; then echo "Operation cancelled." exit 1 fi for vm in "$@"; do sudo virsh destroy "$vm" &>/dev/null sudo virsh undefine "$vm" --remove-all-storage &>/dev/null sudo rm -rf "/var/lib/libvirt/images/${vm}" &>/dev/null printf "%-50s%10s\n" "Removing $vm..." $([[ $? -eq 0 ]] && echo "Successful" || echo "Failed") done