2011-08-29 7 views
2

Comment rediriger le stdin d'un script csh vers le stdin d'un script python?csh stdin à Python stdin?

J'ai un script cgi que j'écris dans csh qui s'exécute sur une machine Solaris. Ce script csh est un wrapper pour un script python qui lit à partir du stdin (je sais, scripting dans csh est mauvais mais je suis forcé de le faire dans ce cas).

Merci pour votre aide! (Et désolé pour la question n00b!)

Répondre

6

test.csh

#!/bin/env csh 
python test.py 

test.py (voir this question)

#!/bin/env python 
import fileinput 

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

    print "fin" 

Puis le stdin à test.csh est passée à test.pyas Henning said.

echo "this is stdin" | csh test.csh 
+0

Parfait! Merci beaucoup!! – RaytheonLiszt

3

Vous n'avez rien à faire. Les commandes (telles qu'un script Python) que vous lancez à partir d'un shell (tel que csh) hériteront du stdin du shell (et de stdout, stderr) par défaut sauf si vous faites activement quelque chose pour l'empêcher.

+0

Tellement simple! Je voudrais pouvoir marquer 2 réponses comme une solution. Merci pour l'explication!!!! – RaytheonLiszt

+0

Oh bien. J'ai quand même fait mon quota pour aujourd'hui :-) –