Scripts Bash e scripts executáveis

Oct 23 2020

Estou tentando executar o django combinado com o Jupyter em um ambiente virtual. O código a seguir faz o trabalho:

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

Salvei o script como django.shem meu diretório inicial. Se eu executar, ./django.sho bloco de notas aparecerá.

Tentei salvar /bin, mas não consegui executar. Quero digitar em djangovez de ./django.shno meu terminal e executar o script acima.

Como posso conseguir isso?

Respostas

2 BeastOfCaerbannog Oct 29 2020 at 22:39

Como disse o ponsfrilus , você deve usar caminhos absolutos (caminhos começando com /) para que seus comandos funcionem a partir de /binou /usr/local/bin. Portanto, seu script deve se tornar:

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

Para executá-lo como django, você deve salvar seu script em um arquivo denominado djangocom #/bin/bashno topo do arquivo. Em seguida, torne-o executável executando:

chmod u+x /path/to/django

onde /path/to/djangoestá o caminho absoluto para o seu script.

Por fim, mova seu script para /binexecutando:

sudo mv /path/to/django /bin

Agora você deve conseguir executar seu script digitando apenas djangoem seu terminal.


Outra opção, muito mais simples, é criar um alias para o seu script, adicionando o seguinte no final do seu .bashrcarquivo:

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

Em seguida, feche o terminal e reabra-o ou execute o seguinte para que o alias tenha efeito:

source .bashrc