必要なものがすべてセットアップされたPythonシェルに入る、非常に単純なbashスクリプトを作成しましたが、実際にはPythonシェルには入りません。私は何が間違っているのですか?
sudo su runnerdude
. /home/runnerdude/foo/env/bin/activate
cd /home/runnerdude/foo/bar
python manage.py shell
必要なものがすべてセットアップされたPythonシェルに入る、非常に単純なbashスクリプトを作成しましたが、実際にはPythonシェルには入りません。私は何が間違っているのですか?
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