Arquivo Shell Script - Passe vários parâmetros para o intérprete

Arquivo Shell Script - Passe vários parâmetros para o intérprete

Eu tenho um script Python que executo e que precisa ser executado em um ambiente especial, então eu executaria o programa assim no meu diretório de trabalho ( ~/project/src):

python manage.py shell

Isso abre um shell interativo para eu começar a digitar meus próprios comandos.

Tenho outro conjunto de atividades administrativas que gostaria de hospedar em outro diretório ( ~/project/admin). Ogerenciar.pyé muito meticuloso ao executar a partir do diretório de trabalho. Então, para fazer tudo funcionar, fiz um script que começa assim:

#!/usr/bin/python ../src/manage.py shell

Existem alguns problemas com isso. A primeira é que não funciona:

/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
  • Como você especifica vários parâmetros para o intérprete?
  • Como altero o diretório de trabalho?

Responder1

Você só pode especificar um argumento para o intérprete. Eu também não acho que você possa usar diretórios relativos.

Eu sugeriria que você agrupasse o que precisa fazer em um script de shell ou em um script Python que use Popen() para chamá-lo, talvez.

Responder2

Supondo que estou correto em meu palpite de que você está em um ambiente Django ...

Dê uma olhada no artigo de James Bennet sobreScripts Django autônomos. Veja a seção sobre "Usar setup_environ()" que menciona que é "exatamente como o script manager.py do próprio Django lida com as configurações".

Há umpergunta semelhanteno stackoverflow, que provavelmente também irá ajudá-lo.

informação relacionada