Scripts bash y ejecutables
Estoy intentando ejecutar django combinado con Jupyter en un entorno virtual. El siguiente código hace el trabajo:
source home/sujith/dev/django/bin/activate && python home/sujith/dev/django/src/manage.py shell_plus --notebook
Guardé el script como django.shen mi directorio de inicio. Si ejecuto, ./django.shel cuaderno aparece.
Intenté guardar esto /bin, pero no pude ejecutarlo. Quiero escribir en djangolugar de ./django.shen mi terminal y ejecutar el script anterior.
¿Cómo puedo conseguir esto?
Respuestas
Como dijo ponsfrilus , debe usar rutas absolutas (rutas que comienzan con /) para que sus comandos funcionen desde /bino /usr/local/bin. Entonces su guión debería convertirse en:
source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook
Para ejecutarlo como django, debe guardar su script en un archivo djangocon #/bin/bashel nombre en la parte superior del archivo. Luego hazlo ejecutable ejecutando:
chmod u+x /path/to/django
donde /path/to/djangoestá la ruta absoluta a su script.
Finalmente, mueva su secuencia de comandos /binejecutando:
sudo mv /path/to/django /bin
Ahora debería poder ejecutar su script simplemente escribiendo djangoen su terminal.
Otra opción mucho más simple es crear un alias para su script, agregando lo siguiente al final de su .bashrcarchivo:
alias django='source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook'
Luego cierre su terminal y vuelva a abrirlo o ejecute lo siguiente para que el alias surta efecto:
source .bashrc