簡體   English   中英

從shell腳本調用Django命令與手動調用不同

[英]Call Django command from shell script differs from manual call

所以,我有一個名為refre.sh小型簡單shell腳本,它將從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.

但是當我在shell中手動輸入命令時,我得到了正確的輸出。

這讓我認為存在環境問題或類似的問題,因為我在本地安裝了Django,並且沒有使用全局安裝(python也在本地安裝,但我已經把完整的路徑放到了正確的python中,並且它沒有幫助)。

那么,我是否必須設置一些環境變量或者我缺少什么?

首先,你應該在腳本的第一行之前有#!/bin/sh

當然,你必須檢查你正在使用的編輯器保存UNIX 行結尾\\n )而不是Windows行( \\r\\n )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM