#!/bin/sh # # Run a one-off command inside an sh-ves environment without activating it # in the current shell. The activation happens in a subshell, so the parent # shell's environment is untouched and no deactivation is needed. # ves_run() { if [ "$#" -lt 2 ]; then printf "ERROR: Insufficient arguments. usage: ves run \n" >&2 return 2 fi env_name="$1" shift if ! _shves_check_env_name "$env_name"; then return 1 fi if ! _shves_check_env_exists "$env_name"; then return 1 fi ( SHVES_ENV_NM="" SHVES_SAVED_VARS="" ves_activate "$env_name" > /dev/null || exit 1 "$@" ) }