filestdin経由でコンテンツをフィードしたいpythonスクリプトを呼び出すbashスクリプトがあります。次のようにbashスクリプトを呼び出します。
./script.sh < file
そしての内容script.sh:
#! /usr/bin/env bash
pushd /some/python/virtual/environment/working/dir
source venv/bin/activate
python main.py ??????
deactivate
popd
bashスクリプト??????にfile与えられた内容をstdinとして pythonスクリプトに渡すために何を入力すればよいかわかりませんmain.py。
注fileかなりのテキストファイルとのbashのを使用することができるreadではないが望ましいです。
bashスクリプトを呼び出すときにstdinを使用する必要があります。私は何にでも渡すために柔軟ですmain.py。
この難問に取り組む方法はありますか?
添加
@casの回答から、どのコンテキストで使用するかについても説明する必要があることがわかりましたscript.sh。
の転送スクリプトscript.shとして使用したいのですが、内容は次のとおりです。~/.forward
|/path/to/script.sh
どの接尾辞がとして呼び出され/path/to/script.shますか。ログはそれについて明確です。次のような、シンプルなバージョンのpythonスクリプトを使用した簡単なテスト:
|/path/to/simple/main.py
postfixがmain.py標準入力のメールの内容で呼び出すことを示します。しかし、この組み合わせは機能していないようです。
localLDAまたは何か他のものを使っていますprocmailかdeliver?内部から実行し~/.bashrcたmain.pyときに見られるように、環境を乱す可能性のあるものはありますscript.shか?おそらく、{ typeset -p ; echo } >> "/tmp/forward.log"script.shの内部などを実行して、環境をログに記録します。