我有一个bash脚本正在调用一个Python脚本,我想file
通过stdin 来提供其内容。像这样调用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
我不知道要填写什么,??????
以file
将给定的内容作为stdin传递给bash 脚本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
证明后缀确实会main.py
在标准输入上调用邮件的内容。但是这种组合似乎不起作用。
local
LDA或其他内容(如procmail
或)deliver
?从内部运行时,您体内是否有任何东西~/.bashrc
可能会干扰环境?也许通过在script.sh内部运行类似的东西来记录环境。main.py
script.sh
{ typeset -p ; echo } >> "/tmp/forward.log"