Scripting Bash e script eseguibili
Sto cercando di eseguire django combinato con Jupyter in un ambiente virtuale. Il codice seguente porta a termine il lavoro:
source home/sujith/dev/django/bin/activate && python home/sujith/dev/django/src/manage.py shell_plus --notebook
Ho salvato lo script come django.shnella mia directory home. Se eseguo ./django.shil notebook si apre.
Ho provato a salvarlo /bin, ma non sono riuscito a eseguirlo. Voglio digitare djangoinvece che ./django.shnel mio terminale e far eseguire lo script sopra.
Come posso raggiungere questo obiettivo?
Risposte
Come ha detto ponsfrilus , devi usare percorsi assoluti (percorsi che iniziano con /) affinché i tuoi comandi funzionino da /bino /usr/local/bin. Quindi il tuo script dovrebbe diventare:
source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook
Per eseguirlo come django, è necessario salvare lo script in un file denominato djangocon all'inizio #/bin/bashdel file. Quindi rendilo eseguibile eseguendo:
chmod u+x /path/to/django
dov'è /path/to/djangoil percorso assoluto del tuo script.
Infine, sposta lo script in /bineseguendo:
sudo mv /path/to/django /bin
Ora dovresti essere in grado di eseguire lo script semplicemente digitando djangonel tuo terminale.
Un'altra opzione, molto più semplice, è creare un alias per il tuo script, aggiungendo quanto segue alla fine del tuo .bashrcfile:
alias django='source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook'
Quindi chiudi il terminale e riaprilo o esegui quanto segue affinché l'alias abbia effetto:
source .bashrc