如何将csh脚本的stdin重定向到python脚本的stdin?
我有一个cgi脚本我正在用在Solaris机器上运行的csh编写。这个csh脚本是从stdin读取的python脚本的包装器(我知道,在csh中编写脚本很糟糕但在这种情况下我不得不这样做)。
感谢您的帮助! (抱歉n00b问题!)
答案 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)默认情况下,除非你主动做一些事情来阻止它。