mapeo de comandos de Linux para los que dependen de rutas largas

mapeo de comandos de Linux para los que dependen de rutas largas

Lo siento si esta pregunta se hizo de otra manera antes. Hice mi debido esfuerzo de búsqueda en Google y StackOverFlow (SOF), pero los términos de búsqueda que probé no arrojaron la respuesta que estaba buscando.

El problema es: he instalado Python virtualenv localmente (es decir, en "~/.local/") porque no tengo acceso sudo a la máquina de mi escuela. El virtualenv ahora se encuentra en "~/Download/modules/virtualenv-1.9.1/" y cuando intento usarlo, siempre tengo que escribir algo como:

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

me gustaría hacer algo como

$ virtualenv --distribute venv

Sé que puedo agregar "alias" en "~/.cshrc" (o equivalente en bash), pero me pregunto si existe una forma alternativa de hacerlo en lugar de agregar más alias. Sincera disculpa si esta es una pregunta repetida (e ingenua/principiante). Como mencioné antes, no logré encontrar los términos de búsqueda correctos para encontrar la solución en Google/SOF. Gracias por su ayuda.

Respuesta1

Claro, puedes configurar una variable local. Probar esto:

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

Entonces deberías poder usarlo $MY_CUSTOM_VARen lugar de ese directorio en cualquier comando.

Respuesta2

Probablemente pondría un guión~/bin/venv

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

(hazlo ejecutable con chmod u+x ~/bin/venv).

No olvides poner ~/bintu $PATH.

información relacionada