Неизвестная ошибка при выполнении сценария оболочки - PullRequest
0 голосов
/ 03 мая 2011

У меня есть следующий скрипт оболочки (скрипт bash) в файле cron.sh

#!/bin/bash

WORKON_HOME="/home/django/domains/example.com"
PROJECT_ROOT="/home/django/domains/example.com/django-project/"

. $WORKON_HOME/bin/activate

cd $PROJECT_ROOT
python manage.py cron

Но когда я бегу:

$ sh cron.sh

Я получил следующую ошибку

: not found
: not found
/bin/activatepen /home/django/domains/example.com

Информация о сервере

cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 03 мая 2011

Ну, вы не показали нам все в коде, который пытаетесь запустить.Поэтому вместо этого я отвечу в общем:

Запустите скрипт, используя sh -x cron.sh, который даст вам очень подробный вывод о том, что он делает, до вызова python.Если ошибки до этого момента, вы знаете, что они попали в половину sh и что их вызвало.Если после этого вам придется отлаживать скрипт python.

0 голосов
/ 03 мая 2011

Попробуйте использовать

bash -x cron.sh  

или

./cron.sh

, чтобы сделать его исполняемым.

0 голосов
/ 03 мая 2011

Ваш скрипт имеет неправильные окончания строк. Пройдите через dos2unix.

...