# shellcheck shell=bash # vim: ft=sh vpy() { ( # Проверка минимального количества аргументов if [ $# -lt 2 ]; then echo "Использование: vpy [args...]" return 1 fi local venv_name="$1" local venv_path="$HOME/python/$venv_name/bin/activate" # Проверка существования venv if [[ ! -r "$venv_path" ]]; then echo "Ошибка: Виртуальное окружение '$venv_name' не найдено." return 1 fi # Активация venv source "$venv_path" shift # Остаются только команда и её аргументы # Проверка существования команды в активированном окружении if ! command -v "$1" > /dev/null 2>&1; then echo "Ошибка: Команда '$1' не найдена в PATH (venv: $venv_name)." return 1 fi # Запуск exec "$@" ) }