Scripts bash y ejecutables

Oct 23 2020

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

2 BeastOfCaerbannog Oct 29 2020 at 22:39

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