отображение команд linux для длинных зависимых путей

отображение команд linux для длинных зависимых путей

Извините, если этот вопрос уже задавался по-другому. Я приложил все усилия для поиска в Google и StackOverFlow(SOF), но поисковые термины, которые я пробовал, не дали нужного мне ответа.

Проблема в следующем: я установил Python virtualenv локально (то есть в "~/.local/"), потому что у меня нет доступа sudo к моей школьной машине. Теперь virtualenv находится в "~/Download/modules/virtualenv-1.9.1/", и когда я пытаюсь его использовать, мне всегда приходится вводить что-то вроде:

$ python ~/Download/modules/virtualenv-1.9.1/virtualenv.py --distribute venv

Я хотел бы сделать что-то вроде

$ virtualenv --distribute venv

Я знаю, что могу добавить "alias" в "~/.cshrc" (или эквивалент bash), но мне интересно, есть ли альтернативный способ сделать это, а не добавлять больше псевдонимов. Искренние извинения, если это повторяющийся (и наивный/новичковый) вопрос. Как я уже упоминал, мне не удалось придумать правильные поисковые термины, чтобы найти решение в Google/SOF. Спасибо за помощь.

решение1

Конечно, вы можете задать локальную переменную. Попробуйте это:

export MY_CUSTOM_VAR=/Users/YOURUSERNAMEHERE/Download/modules/virtualenv-1.9.1

Тогда вы сможете использовать $MY_CUSTOM_VARвместо этого каталога в любой команде.

решение2

Я бы, наверное, вставил сценарий~/bin/venv

#/bin/sh
exec python \
    ~/Download/modules/virtualenv-1.9.1/virtualenv.py \
    --distribute venv \
    "$@"

(сделайте его исполняемым с помощью chmod u+x ~/bin/venv).

Не забудьте указать ~/binсвой $PATH.

Связанный контент