所以,我有一个名为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,它没有帮助。)
那么,我是否需要设置一些环境变量或者我缺少什么?
答案 0 :(得分:2)
首先,你应该在脚本的第一行之前有#!/bin/sh
。
当然,您必须检查您正在使用的编辑器保存UNIX line endings(\n
)而不是Windows(\r\n
)。