我写了一个超简单的bash脚本,使我进入了一个python shell,并像我需要一样设置了所有东西,但实际上从来没有进入python shell。我在做什么错?
sudo su runnerdude
. /home/runnerdude/foo/env/bin/activate
cd /home/runnerdude/foo/bar
python manage.py shell
我认为问题在于Sudo的工作方式。假设您的脚本称为run_python.sh:
. /home/runnerdude/foo/env/bin/activate
cd /home/runnerdude/foo/bar
python manage.py shell
然后您可以使用:
调用它sudo -u runnerdude run_python.sh
或,如果您坚持,您的脚本可能看起来像:
sudo -u runnerdude '. /home/runnerdude/foo/env/bin/activate;
cd /home/runnerdude/foo/bar;
python manage.py shell'
请注意,单引号和后斜切将命令加在一起。运行您的脚本:
run_python.sh