func DeleteKey(alias string, key *SSHKey, env *Environment, forTest ...bool) {
	inUse := key.PrivateKey == ParsePath(filepath.Join(env.SSHPath, key.PrivateKey))
	var testMode bool
	var input string
	if len(forTest) > 0 {
		testMode = true
	} else {
		testMode = false
	}
	if !testMode {
		if inUse {
			fmt.Print(color.BlueString("SSH key [%s] is currently in use, please confirm to delete it [y/n]: ", alias))
		} else {
			fmt.Print(color.BlueString("Please confirm to delete SSH key [%s] [y/n]: ", alias))
		}
		fmt.Scan(&input)
	} else {
		input = "y"
		inUse = true
	}
	if input == "y" {
		if inUse {
			ClearKey(env)
		}
		if err := os.RemoveAll(filepath.Join(env.StorePath, alias)); err == nil {
			color.Green("%sSSH key [%s] deleted!", CheckSymbol, alias)
		} else {
			color.Red("%sFailed to delete SSH key [%s]!", CrossSymbol, alias)
		}
	}
}
DeleteKey delete key by its alias name
package skm
import (
	"errors"
	"fmt"
	"io"
	"os"
	"os/exec"
	"path/filepath"
	"strings"
	"time"
	"github.com/fatih/color"
)
const (
	Name = "SKM"
	Usage = "Manage your multiple SSH keys easily"
	CheckSymbol = "\u2714 "
	CrossSymbol = "\u2716 "
	PublicKey = "id_rsa.pub"
	PrivateKey = "id_rsa"
	DefaultKey = "default"
	HookName = "hook"
)
func Execute(workDir, script string, args ...string) bool {
	cmd := exec.Command(script, args...)
	if workDir != "" {
		cmd.Dir = workDir
	}
	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	if err := cmd.Run(); err != nil {
		color.Red("%s%s", CrossSymbol, err.Error())
		return false
	}
	return true
}
func ClearKey(env *Environment) {
	for _, kt := range SupportedKeyTypes {
		PrivateKeyPath := filepath.Join(env.SSHPath, kt.PrivateKey())
		os.Remove(PrivateKeyPath)
		PublicKeyPath := filepath.Join(env.SSHPath, kt.PublicKey())
		os.Remove(PublicKeyPath)
	}
}