csh stdin到Python stdin?

时间:2011-08-29 19:07:28

标签: python stdin csh

如何将csh脚本的stdin重定向到python脚本的stdin?

我有一个cgi脚本我正在用在Solaris机器上运行的csh编写。这个csh脚本是从stdin读取的python脚本的包装器(我知道,在csh中编写脚本很糟糕但在这种情况下我不得不这样做)。

感谢您的帮助! (抱歉n00b问题!)

2 个答案:

答案 0 :(得分:6)

test.csh

#!/bin/env csh
python test.py

test.py(参见this question

#!/bin/env python
import fileinput

if __name__ == '__main__':
    print "Hi. printing stdin"
    for line in fileinput.input():
        print line

    print "fin"

然后将test.csh的标准输入传递到test.py as Henning said

echo "this is stdin" | csh test.csh

答案 1 :(得分:3)

你不需要做任何事情。 从shell启动的命令(如Python脚本)(如csh)将继承shell的stdin(和stdout,stderr)默认情况下,除非你主动做一些事情来阻止它。