Bash-скрипты и исполняемые скрипты

Oct 23 2020

Я пытаюсь запустить django в сочетании с Jupyter в виртуальной среде. Следующий код выполняет свою работу:

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

Я сохранил сценарий django.shв своем домашнем каталоге. Если запустить ./django.shноутбук выскакивает.

Я пытался сохранить это /bin, но не смог запустить. Я хочу ввести djangoтекст вместо ./django.shсвоего терминала и запустить указанный выше сценарий.

Как я могу этого добиться?

Ответы

2 BeastOfCaerbannog Oct 29 2020 at 22:39

Как сказал ponsfrilus , вы должны использовать абсолютные пути (пути, начинающиеся с /), чтобы ваши команды работали с /binили /usr/local/bin. Итак, ваш сценарий должен выглядеть так:

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

Для того, чтобы запустить его django, вы должны сохранить сценарий в файле с именем djangoс #/bin/bashв верхней части файла. Затем сделайте его исполняемым, запустив:

chmod u+x /path/to/django

где /path/to/djangoабсолютный путь к вашему скрипту.

Наконец, переместите свой скрипт в /bin, запустив:

sudo mv /path/to/django /bin

Теперь вы можете запустить свой скрипт, просто набрав djangoв терминале.


Другой, гораздо более простой вариант - создать псевдоним для вашего скрипта, добавив в конец .bashrcфайла следующее:

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

Затем закройте терминал и снова откройте его или выполните следующее, чтобы псевдоним вступил в силу:

source .bashrc