aboutsummaryrefslogtreecommitdiffstats
path: root/ves-delete.sh
blob: 648677d330f5f27e23d40121ac07807c036761de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
#
# Delete an existing sh-ves environment. The active environment may not
# be deleted; deactivate it first.
#
ves_delete() {
    if [ "$#" -lt 1 ]; then
        printf "ERROR: No environment name specified.\n" >&2
        return 1
    fi

    env_name="$1"
    if ! _shves_check_env_name "$env_name"; then
        return 1
    fi

    if ! _shves_check_env_exists "$env_name"; then
        return 1
    fi

    if [ "$env_name" = "$SHVES_ENV_NM" ]; then
        printf "ERROR: Environment [%s] is currently active. Deactivate it first.\n" "$env_name" >&2
        return 1
    fi

    rm -f "$SHVES_ENV_DIR/$env_name"
    printf "Environment [%s] deleted successfully\n" "$env_name"

    return 0
}