为什么我的 bash 脚本不允许我进入 python shell?



我写了一个超简单的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

最新更新