シェルスクリプトから呼び出されるPythonスクリプト(Python 3.6)があります。このシェルスクリプトは、Pythonスクリプトを呼び出す前にいくつかの関数を定義しています。 Pythonコードでは、これらの関数をサブプロセス内で使用したいと考えています。 /bin/sh: func1: command not found
:サブプロセスからシェルスクリプトで定義された関数を呼び出す
はここで、私はエラーを取得することを実行しているときに私は、Pythonスクリプトが
# my_script.py
import subprocess
p = subprocess.Popen("func1",
stdout = subprocess.PIPE,
shell = True)
に
# Shell script
function func1() {
echo "func1 completed"
}
python /path/to/my_script.py
やろうとしているものの例です。
shell = False
を使用して試しましたが、env = os.environ
とos.system
を渡しましたが、同様のエラーが発生します。これができる方法はありますか?
機能ごとに別々のスクリプトを作成し、これらの分離されたスクリプトを 'Popen'で呼び出す方が簡単ではないでしょうか? – BartoszKP