Вызов команды Django из сценария оболочки отличается от ручного вызова - PullRequest
0 голосов
/ 22 апреля 2011

Итак, у меня есть этот небольшой простой скрипт оболочки с именем refre.sh, который будет обновляться из svn и вызывать команду Django:

echo "Refresh..."
svn update
python manage.py collectstatic --noinput --settings=settings.prod

Когда я выполню скрипт с ./refre.sh, будет выводиться:

Refresh...
'nknown command: 'update
Type 'svn help' for usage.
Unknown command: 'collectstatic'
Type 'manage.py help' for usage.

но когда я набираю команды вручную в оболочке, я получаю правильный вывод.

Это наводит меня на мысль, что есть проблема с окружением или что-то вроде этого, потому что у меня Django установлен локально, а не с помощью глобальной установки (также локально установлен python, но я поставил полный путьк правильному питону, и это не помогло).

Итак, я должен установить некоторые переменные окружения или чего мне не хватает?

1 Ответ

2 голосов
/ 22 апреля 2011

Прежде всего вы должны иметь #!/bin/sh перед первой строкой скрипта.

И, конечно, вы должны проверить, что используемый вами редактор сохраняет окончания строк UNIX (\n), а не Windows (\r\n).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...