如何將csh腳本的stdin重定向到python腳本的stdin?csh標準輸入到Python標準輸入?
我有一個cgi腳本,我正在寫一個Solaris機器上運行的csh。這個csh腳本是從stdin讀取的python腳本的包裝器(我知道,csh中的腳本很糟糕,但我在這種情況下被迫使用)。
感謝您的幫助! (對於n00b問題抱歉!)
如何將csh腳本的stdin重定向到python腳本的stdin?csh標準輸入到Python標準輸入?
我有一個cgi腳本,我正在寫一個Solaris機器上運行的csh。這個csh腳本是從stdin讀取的python腳本的包裝器(我知道,csh中的腳本很糟糕,但我在這種情況下被迫使用)。
感謝您的幫助! (對於n00b問題抱歉!)
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
你不需要做任何事情。 從shell(例如csh)開始的命令(例如Python腳本)將默認繼承shell的stdin(和stdout,stderr),除非您主動執行某些操作來阻止它。
太簡單了!我希望我可以將2個答案標記爲解決方案。感謝您的解釋!!!! – RaytheonLiszt
哦,好的。無論如何,我已經爲我制定了配額:-) –
完美!非常感謝!! – RaytheonLiszt