aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ves-delete.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/ves-delete.sh b/ves-delete.sh
new file mode 100644
index 0000000..d7e6fc6
--- /dev/null
+++ b/ves-delete.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+OVERRIDE_VARS="PATH LDPATH"
+
+if [ -z $XDG_DATA_HOME ]; then
+ ENV_DIR="$HOME/.local/share/ves/envs"
+else
+ ENV_DIR="$XDG_DATA_HOME/ves/envs"
+fi
+
+check_name() {
+ if [ ! -f "$ENV_DIR/$1" ]; then
+ printf "ERROR: Environment [%s] does not exist.\n" $1 > /dev/stderr
+ exit 1
+ fi
+
+ if ! echo $1 | grep "^[[:alpha:][:digit:]_-]*$" > /dev/null; then
+ printf "ERROR: Environment [%s] is invalid. Name must contain only letters, -, and _\n" $1 > /dev/stderr
+ exit 1
+ fi
+}
+
+
+ENV_NAME="$1"
+
+check_name "$1"
+rm -f "$ENV_DIR/$ENV_NAME"
+
+printf "Environment [%s] deleted successfully\n" $ENV_NAME