Bash-Scripting und ausführbares Scripting

Oct 23 2020

Ich versuche, Django in Kombination mit Jupyter in einer virtuellen Umgebung auszuführen. Der folgende Code erledigt den Job:

source home/sujith/dev/django/bin/activate  && python home/sujith/dev/django/src/manage.py shell_plus --notebook

Ich habe das Skript wie django.shin meinem Home-Verzeichnis gespeichert . Wenn ich ./django.shdas Notebook starte, erscheint es.

Ich habe versucht, dies zu speichern /bin, aber ich konnte es nicht ausführen. Ich möchte djangostatt ./django.shin mein Terminal tippen und das obige Skript ausführen lassen.

Wie kann ich das erreichen?

Antworten

2 BeastOfCaerbannog Oct 29 2020 at 22:39

Wie ponsfrilus sagte , müssen Sie absolute Pfade (Pfade beginnend mit /) verwenden, damit Ihre Befehle von /binoder aus funktionieren /usr/local/bin. So sollte Ihr Skript werden:

source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook

Um es als auszuführen django, müssen Sie Ihr Skript in einer Datei djangomit #/bin/bashdem Namen oben in der Datei speichern. Machen Sie es dann ausführbar, indem Sie Folgendes ausführen:

chmod u+x /path/to/django

Wo /path/to/djangoist der absolute Pfad zu Ihrem Skript?

Verschieben Sie Ihr Skript schließlich, /binindem Sie Folgendes ausführen:

sudo mv /path/to/django /bin

Sie sollten jetzt in der Lage sein, Ihr Skript auszuführen, indem Sie einfach djangoIhr Terminal eingeben .


Eine andere, viel einfachere Option besteht darin, einen Alias ​​für Ihr Skript zu erstellen, indem Sie am Ende Ihrer .bashrcDatei Folgendes hinzufügen :

alias django='source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook'

Schließen Sie dann Ihr Terminal und öffnen Sie es erneut oder führen Sie Folgendes aus, damit der Alias ​​wirksam wird:

source .bashrc