为什么';我的bash脚本是否允许我进入pythonshell?
我编写了一个超级简单的bash脚本,让我进入一个pythonshell,其中包含了我需要的所有设置,但它从未真正进入pythonshell。我做错了什么为什么';我的bash脚本是否允许我进入pythonshell?,bash,Bash,我编写了一个超级简单的bash脚本,让我进入一个pythonshell,其中包含了我需要的所有设置,但它从未真正进入pythonshell。我做错了什么 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
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
尝试
sh-x脚本
并显示输出。学究式地说,不需要单引号内的行继续字符。