私のWebサイト(PythonとDjangoで書かれています)からbashスクリプトを呼び出そうとしています。 サブプロセスについて多くのことを聞いたことがありますが、それは機能しませんでした。ここでDjango Web App経由でBashスクリプトを実行
は私がしようとしたものです:
import os
import subprocess
s1 = 'Hello'
s2 = 'Bye'
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
path = os.path.join(BASE_DIR, 'subfolder', 'sub_subfolder')
script = path + '/test.sh'
output = subprocess.call([script, s1, s2])
私はシェル/バッシュを経由して、それを実行する場合、これは動作します。 呼び出しの手順は次のとおりです。
誰かがボタンを押してWebサイトを開きます。このボタンはDjangoビューを指し、すべてのロジックが配置されているビューセクションでPOSTメソッドまたはGETメソッドを呼び出します。すべての情報(bashスクリプトからの情報を含む)は、Webサイトに出力を表示するテンプレートに渡されます。
このbashスクリプトの出力を、ビューでレンダリングされるhtmlファイルを介して私のウェブサイトに表示します。私は自分で残りの部分を見つけることができるはずですので、今は簡単なプリントで十分でしょう。
すでにありました。それは私が私の質問で説明したものを達成するのに役立つものではありません。それ以外は、すべてのスクリプトは '#!/ bin/bash'で始まります – Permittivity